网站大量收购独家精品文档,联系QQ:2885784924

[工学]第7章 过程式数据库对象1.ppt

  1. 1、本文档共32页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
[工学]第7章 过程式数据库对象1

第7章 过程式数据库对象 7.1 存储过程 7.1.1 创建存储过程 7.1.1 创建存储过程 CREATE PROCEDURE的语法格式: CREATE PROCEDURE sp_name ([proc_parameter[,...]]) routine_body 其中,proc_parameter的参数如下: [ IN | OUT | INOUT ] param_name type DELIMITER $$ CREATE PROCEDURE DELETE_STUDENT(IN XH CHAR(6)) BEGIN DELETE FROM XS WHERE 学号=XH; END $$ DELIMITER ; 7.1.1 创建存储过程 DELIMITER命令:将MySQL语句的结束标志修改为其他符号。 DELIMITER语法格式为: DELIMITER $$ 说明: $$是用户定义的结束符,通常这个符号可以是一些特殊的符号,如两个“#”,两个“¥”等。 当使用DELIMITER命令时,应该避免使用反斜杠(“\”)字符,因为那是MySQL的转义字符。 DELIMITER $$ CREATE PROCEDURE DELETE_STUDENT(IN XH CHAR(6)) BEGIN DELETE FROM XS WHERE 学号=XH; END $$ DELIMITER ; 7.1.1 创建存储过程 【例7.2】 下面是一个存储过程的简单例子,实现的功能是删除一个特定学生的信息。 DELIMITER $$ CREATE PROCEDURE DELETE_STUDENT(IN XH CHAR(6)) BEGIN DELETE FROM XS WHERE 学号=XH; END $$ DELIMITER ; 说明: 当调用这个存储过程时,MySQL根据提供的参数XH的值,删除对应在XS表中的数据。 调用存储过程的命令是CALL命令,语法格式如下: CALL sp_name([parameter[,...]]) 后面会详细讲到。 在关键字BEGIN和END之间指定了存储过程体。 知识点回顾 存储过程是存放在数据库中,能够实现特定功能的一段程序。 CREATE PROCEDURE的语法格式: CREATE PROCEDURE sp_name ([proc_parameter[,...]]) BEGIN routine_body END DELIMITER命令:将MySQL语句的结束标志修改为其他符号。 DELIMITER语法格式为: DELIMITER $$ 7.1.2 存储过程体 DECLARE语法格式如下: DECLARE var_name[,...] type [DEFAULT value] 【例7.3】 声明一个整型变量和两个字符变量。 DECLARE num INT(4); DECLARE str1, str2 VARCHAR(6); 说明: 局部变量只能在BEGIN…END语句块中声明。 局部变量只能在声明它的BEGIN…END语句块中使用该变量,其他语句块中不可以使用它。 在存储过程中也可以声明用户变量,不要将两者混淆。 局部变量和用户变量的区别在于: 局部变量前面没有使用@符号。 局部变量在其所在的BEGIN…END语句块处理完后就消失了,而用户变量存在于整个会话当中。 用户变量的定义: SET @user_variable1=expression1 [, @ user_variable2= expression2 , …] 7.1.2 存储过程体 3. SELECT...INTO语句 使用这个SELECT…INTO语法可以把选定的列值直接存储到变量中。因此,返回的结果只能有一行。 语法格式为: SELECT col_name[,...] INTO var_name[,...] table_expr 说明:col_name是列名,var_name是要赋值的变量名。 table_expr是SELECT语句中的FROM子句及后面的部分。 【例7.5】 在存储过程体中将XS表中的学号为081101的学生姓名和专业名的值分别赋给变量name和project。 SELECT 姓名,专业名 INTO name, project FROM XS; WHERE 学号= 081101; 7.1.2 存储过程体 7.1.2 存储过程体 7.1.2 存储过程体 或者: CASE WHEN search_condition THEN statement_list [WHEN search_condition THEN statement_

文档评论(0)

ipbohn97 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档