《数据库与信息系统》SQL语言-6存储过程_第1页
《数据库与信息系统》SQL语言-6存储过程_第2页
《数据库与信息系统》SQL语言-6存储过程_第3页
《数据库与信息系统》SQL语言-6存储过程_第4页
《数据库与信息系统》SQL语言-6存储过程_第5页
已阅读5页,还剩10页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、SQL与可编程对象4存储过程存储过程可以将完成特定功能的一组SQL语句定义为存储过程,它是数据库的一种可编程对象。Web应用程序数据表存储过程数据库快速灵活安全使用SQL语句创建存储过程CREATE PROCDURE 存储过程名( 形式参数列表)SQL语句段; CALL 存储过程名(实参值|变量);创建:调用:IN | OUT | INOUT 参数名 参数类型IN:输入;OUT:输出;INOUT:输入/输出“实参值”:输入参数的值;“变量”:用来保存参数或者返回参数的变量,对应于输出参数举例1:存储过程(无参数)创建无参数存储过程proc_student,查询所有学生信息。CREATE PRO

2、CEDURE 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_se

3、archstudent(林豆豆);或者:SET n=林豆豆; - 自定义变量n,赋值后作为实际参数CALL proc_searchstudent(n);调用存储过程:使用向导创建存储过程举例2:创建带有输入参数的存储过程proc_searchstudent,按姓名查询特定学生信息。调用存储过程调用存储过程proc_searchstudent查询学生“林豆豆”的信息。在查询编辑器中,执行带有输入参数的CALL语句查询“林豆豆”的信息创建带有输入和输出类型参数的存储过程proc_countstudent,根据课程号统计选课人数。CREATE PROCEDURE proc_countstudent(

4、IN cscode char(4),OUT stnumber int) - cscode表示课程号,是输入参数;stnumber表示选修总人数,是输出参数SELECT COUNT(StudentCode) into stnumber FROM courseenrollWHERE Score IS NOT NULL AND CourseCode=cscode; - 查询结果存stnumber参数CALL proc_countstudent(C001,st); - 调用存储过程SELECT st AS 选修C001课程的学生人数:;- 显示选课人数调用存储过程,查询“C001”课的选修人数 举例3

5、:存储过程(有输入参数和输出参数)举例4:存储过程(插入操作)创建一个向subject表中插入学科记录的存储过程proc_insertsubject。CREATE PROCEDURE proc_insertsubject(sjcode char(3), sjname varchar(10)-sjcode表示学科号,sjname表示学科名,是输入参数,可省略IN-插入数据记录到subjectINSERT INTO subject VALUES(sjcode, sjname) ;CALL proc_insertsubject(S18, 医学) ;调用存储过程,完成记录添加举例5:存储过程(修改操作

6、)创建一个按学号和课程号修改成绩的存储过程proc_updatescore。CREATE PROC proc_UpdateGrade(stcode int, cscode char(4), sc float)UPDATE courseenrollSET 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_searchstude

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论