【头歌系统数据库实验】实验14 数据库编程-2
目录第1关:定义一个名为PROC_UPDATEGRADE的存储过程第2关:使用游标定义一个名为PROC_JGRADE无参存储过程第3关:使用游标定义一个名为PROC_NUMGRADE有参存储过程如果对你有帮助的话,不妨点赞收藏评论一下吧,爱你么么哒😘❤️❤️❤️第1关:定义一个名为PROC_UPDATEGRADE的存储过程任务描述定义一个名为PROC_UPDATEGRADE的存储过程,将学生选课成绩从百分制改为等级制(即A、B、C、D、E),其中A为[90,100],B为[80,90),C为[70,80),D为[60,70),E为[0,60)。相关知识1、学生选课表SC由学号(Sno)、课程号(Cno)、成绩(Grade)组成。 SC表如下图:现已构建SC表,结构信息如下:创建SC表的Mysql代码为:CREATE TABLE SC( Sno CHAR(9), Cno CHAR(4), Grade INT, PRIMARY KEY(Sno, Cno) );INSERT INTO SC VALUES('200215121','1',92); INSERT INTO SC VALUES('200215121','2',85); INSERT INTO SC VALUES('200215121','3',88); INSERT INTO SC VALUES('200215122','2',90); INSERT INTO SC VALUES('200215122','3',80); INSERT INTO SC VALUES('200215123','1',60); INSERT INTO SC VALUES('200215123','2',75); INSERT INTO SC VALUES('200215124','1',52); INSERT INTO SC VALUES('200215124','2',63); INSERT INTO SC VALUES('200215125','1',100); INSERT INTO SC VALUES('200215125','2',100); INSERT INTO SC VALUES('200215126','2',34); INSERT INTO SC VALUES('200215126','3',45); INSERT INTO SC VALUES('200215127','2',86); INSERT INTO SC VALUES('200215127','3',88);2、存储过程定义 定义一个存储过程语句的语法格式如下:CREATE [OR REPLACE ] PROCEDURE 模式名.存储过程名 [WITH ENCRYPTION][(参数名 参数模式 参数数据类型 [默认值表达式]{,参数名 参数模式 参数数据类型 [默认值表达式] })]AS | IS[说明语句端段]BEGIN执行语句段[Exception异常处理语句段]END;其中: (1)模式名.存储过程名:指明被创建的存储过程的名称。 (2)参数名:指明存储过程参数的名称。 (3) WITH ENCRYPTION:为可选项,如果指定 WITH ENCRYPTION 选项,则对 BEGIN 到 END 之间的语句块进行加密,防止非法用户查看其具体内容,加密后的存储过程或存储函数的定义可在 SYS.SYSTEXTS 系统表中查询。 (4)参数模式:指明存储过程参数的输入/输出方式。参数模式可设置为 IN、OUT 或 IN OUT(OUT IN),默认为 IN 类,IN 表示向存储过程传递参数,OUT 表示从存储过程返回参数。而 IN OUT 表示传递参数和返回参数。 (5)参数数据类型:指明存储过程参数的数据类型。 (6)说明语句端段:由变量、游标和子程序等对象的申明构成。 (7)执行语句段:由 SQL 语句和过程控制语句构成的执行代码。 (8)异常处理语句段:各种异常的处理程序,存储过程执行异常时调用,可默认。注意:使用该语句的用户必须是 DBA 或该存储过程的拥有者且具有 CREATE PROCEDURE 数据库权限的用户;参数的数据类型只能指定变量类型,不能指定长度。相关操作:① DECLARE定义变量DECLARE用于定义变量,在存储过程和函数中通过declare定义变量在BEGIN...END中,且在语句之前,定义变量语法为:DECLARE 变量名 变量类型 [DEFAULT 初始化值];例如:DECLARE a, b INT DEFAULT 5
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2582302.html
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!