0
点赞
收藏
分享

微信扫一扫

数据库第十二次作业 存储过程(PL/SQL语句集)的应用


目录

​​一、创建一个stu表​​

​​二、给stu表添加数据并查看stu表结构​​

​​三、查看stu表数据​​

​​四、创建存储过程addcount能够获取表stu中的记录数和id的和,使用到了变量的声明、光标、流程控制等知识点。​​

​​五、调用存储过程并查看数据​​

        SQL语句没有流程控制语句,无法实现复杂的应用。PL/SQL语言时将结构化查询与数据库过程控制结合为一体的强大语言。PL/SQL不但支持更多的数据类型,拥有变量声明、赋值语句,而且有选择、循环等流程控制语句。存储过程是一组为了完成特定功能的PL/SQL语句集,经编译后存储在数据库中,用户可以重复该存储过程,这样可以降低数据开发人员的工作量。

一、创建一个stu表

mysql> create table stu(
    -> id int (10) primary key not null unique,
    -> name varchar(50) not null,
    -> class varchar(50) not null);

数据库第十二次作业 存储过程(PL/SQL语句集)的应用_数据仓库

数据库第十二次作业 存储过程(PL/SQL语句集)的应用_数据仓库_02

二、给stu表添加数据并查看stu表结构

 mysql> insert into stu value(1,"Lucy","class1"),
    -> (2,"Tom","class1"),
    -> (3,"Rose","class2");

数据库第十二次作业 存储过程(PL/SQL语句集)的应用_mysql_03

三、查看stu表数据

数据库第十二次作业 存储过程(PL/SQL语句集)的应用_sql_04

 四、创建存储过程addcount能够获取表stu中的记录数和id的和,使用到了变量的声明、光标、流程控制等知识点。

mysql> create procedure addcount(out count int)
    -> begin
    -> declare itmp int;
    -> declare cur_id cursor for select id from stu;
    -> declare exit handler for not found close cur_id;
    -> select count(*) into count from stu;
    -> set @sum=0;
    -> open cur_id;
    -> repeat
    -> fetch cur_id into itmp;
    -> if itmp<10
    -> then set @sum=@sum+itmp;
    -> end if;
    -> until 0 end repeat;
    -> close cur_id;
    -> end;/
Query OK, 0 rows affected (0.02 sec)

数据库第十二次作业 存储过程(PL/SQL语句集)的应用_数据仓库_05

五、调用存储过程并查看数据

数据库第十二次作业 存储过程(PL/SQL语句集)的应用_sql_06

从调用存储过程的结果可以看出,stu表中共有三条数据,id之和为6。这个存储过程创建了一个cur_id的光标,使用这个光标来获取每条记录的id,使用repeat循环语句来实现所有id号相加。       

举报

相关推荐

数据库第十二次作业

第十二次作业

java第十二次作业

第十二次Java作业

mysql第十二次作业

MYSQL第十二次作业

0 条评论