《数据库与信息系统》SQL语言_6存储过程.pptxVIP

  • 6
  • 0
  • 约2.05千字
  • 约 15页
  • 2021-11-20 发布于上海
  • 举报

《数据库与信息系统》SQL语言_6存储过程.pptx

SQL与可编程对象 存储过程 存储过程 可以将完成特定功能的一组SQL语句定义为存储过程,它是数据库的一种可编程对象。 Web应用程序 快速 灵活 安全 使用SQL语句创建存储过程 创建: 调用: 举例1:存储过程(无参数) 创建无参数存储过程proc_student,查询所有学生信息。 CREATE PROCEDURE proc_student() SELECT * FROM student; CALL proc_student(); 创建存储过程: 调用存储过程: 括号不能省略 括号不能省略 举例2:存储过程(有输入参数) 创建带有输入参数的存储过程proc_searchstudent,按姓名查询特定学生信息。 CREATE PROCEDURE proc_searchstudent(IN stname varchar(16))               --stname是IN类型参数 SELECT * FROM STUDENT WHERE StudentName=stname;               -- 按参数stname查询 创建存储过程: CALL proc_searchstudent(林豆豆); 或者: SET @n=林豆豆; -- 自定义变量@n,赋值后作为实际参数 CALL proc_searchstudent(@n); 调用存储过程: 使用向导创建存储过程 举例2:创建带有输入参数的存储过程proc_searchstudent,按姓名查询特定学生信息。 调用存储过程 调用存储过程proc_searchstudent查询学生“林豆豆”的信息。 在查询编辑器中,执行带有输入参数的CALL语句查询“林豆豆”的信息 创建带有输入和输出类型参数的存储过程proc_countstudent,根据课程号统计选课人数。 CREATE PROCEDURE proc_countstudent(IN cscode char(4),OUT stnumber int)   -- cscode表示课程号,是输入参数;stnumber表示选修总人数,是输出参数 SELECT COUNT(StudentCode) into stnumber FROM courseenroll WHERE Score IS NOT NULL AND CourseCode=cscode; -- 查询结果存stnumber参数 CALL proc_countstudent(C001,@st); -- 调用存储过程 SELECT @st AS 选修C001课程的学生人数:;-- 显示选课人数 调用存储过程,查询“C001”课的选修人数 举例3:存储过程(有输入参数和输出参数) 举例4:存储过程(插入操作) 创建一个向subject表中插入学科记录的存储过程proc_insertsubject。 CREATE PROCEDURE proc_insertsubject(sjcode char(3), sjname varchar(10)) --sjcode表示学科号,sjname表示学科名,是输入参数,可省略IN --插入数据记录到subject INSERT INTO subject VALUES(sjcode, sjname) ; CALL proc_insertsubject(S18, 医学) ; 调用存储过程,完成记录添加 举例5:存储过程(修改操作) 创建一个按学号和课程号修改成绩的存储过程proc_updatescore。 CREATE PROC proc_UpdateGrade(stcode int, cscode char(4), sc float) UPDATE courseenroll SET Score=sc --以sc值修改成绩 WHERE StudentCode=stcode AND CourseCode=cscode ; CALL proc_updatescore(1001,C001,80); 调用存储过程,将1001号学生的C001课程成绩改为80分。 维护存储过程 查看 修改 删除 举例6:修改存储过程 修改举例2所建立的存储过程proc_searchstudent,按输入的学生姓名模糊查询一些学生的信息。 CALL proc_searchstudent(%); -- 显示所有学生的信息 CALL proc_searchstudent( 张%); -- 显示姓张的学生的信息 CALL proc_searchstudent(张小宝); -- 显示学生张小宝的信息 存储过程 存储过程是完成特定功能的一组SQL语句的集合,它是数据库的一种数据对象。 Web应用程序

文档评论(0)

1亿VIP精品文档

相关文档