- 1、本文档共35页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
MySQL开发和 与实践第9章存储过程和 与存储函数.ppt
;;9.1 创建存储过程和存储函数;9.1.1 创建存储过程; 一个存储过程包括名字,参数列表,还可以包括很多SQL语句集。下面创建一个存储过程,其代码如下:
delimiter //
create procedure proc_name (in parameter integer)
begin
declare variable varchar(20);
if parameter=1 then
set variable=MySQL;
else
set variable=’PHP’;
end if;
insert into tb (name) values (variable);
end;
MySQL中存储过程的建立以关键字create procedure开始,后面仅跟存储过程的名称和参数。MySQL的存储过程名称不区分大小写,例如PROCE1()和proce1()代表同一存储过程名。存储过程名或存储函数名不能与MySQL数据库中的内建函数重名。;创建存储函数与创建存储过程大体相同。其创建存储函数的基本形式如下:
CREATE FUNCTION sp_name ([func_parameter[,...]])
RETURNS type
??? [characteristic ...] routine_body
创建存储函数的参数说明如表9-2所示。
表9-2 创建存储函数的参数说明
func_parameter可以由多个参数组成,其中每个参数均由参数名称和参数类型组成,其结构如下:
param_name type
param_name参数是存储函数的函数名称;type参数用于指定存储函数的参数类型。该类型可以是MySQL 数据库所支持的类型。;; MySQL存储过程中的参数主要有局部参数和会话参数两种,这两种参数又可以被称为局部变量和会话变量。局部变量只在定义该局部变量的begin…end范围内有效,会话变量在整个存储过程范围内均有效。
1.局部变量
局部变量以关键字declare声明,后跟变量名和变量类型,例如:
declare a int
当然在声名局部变量时也可以用关键字default为变量指定默认值,例如:
declare a int default 10
下述代码为读者展示如何在MySQL存储过程中定义局部变量以及其使用方法。在该例中,分别在内层和外层 begin…end块中都定义同名的变量x,按照语句从上到下执行的顺序,如果变量x在整个程序中都有效,则最终结果应该都为inner,但真正的输出结果却不同,这说明在内部begin…end块中定义的变量只在该块内有效。;【例9-3】 该例子说明局部变量只在某个begin…end块内有效。代码如下:
delimiter //
create procedure p1()
begin
declare x char(10) default outer ;
begin
declare x char(10) default inner ;
select x;
end;
select x;
end;
//
上述代码的运行结果如图9-3所示。
图9-3 定义局部变量的运行结果
;应用MySQL调用该存储过程的运行结果如图9-4所示。
图9-4 调用存储过程pl()的运行结果
;2.全局变量
MySQL中的会话变量不必声明即可使用,会话变量在整个过程中有效,会话变量名以字符“@”作为起始字符。下述代码为会话变量的使用方法。
【例9-4】 在该例中,分别在内部和外部begin…end块中都定义了同名的会话变量@t,并且最终输出结果相同,从而说明会话变量的作用范围为整个程序。设置全局变量的代码如下:
delimiter //
create procedure p2()
begin
set @t=1;
begin
set @t=2;
select @t;
end;
select @t;
end;
//;上述代码的运行结果如图9-5所示。
图9-5 设置全局变量
;应用MySQL调用该存储过程的运行结果如图9-6所示。
图9-6 调用存储过程p2()运行结果
;3.为变量赋值
MySQL中可以使用DECLARE关键字来定义变量。定义变量的基本语法如下:
DECLARE var_name[,…] type [DEFAULT value]
DECLARE是用来声明变量的;var_name参数是设置变量的名称。如果用户需要,也可以同时定义多个变量;type参数用来指定变量的类型;DEFAULT value的作用是指定变量的默认值,不对该参数进行设置时,其默认值为NULL。
MySQL中可以使用SET关键字为变量赋值。SET语句的基本语法如
您可能关注的文档
- Java程序的设计基础第7章 Java IO流.ppt
- Java程序的设计基础第8章 GUI编程.ppt
- Java程序的设计基础第9章 applet.ppt
- Java程序的设计实用教程第10章输入、输出流.ppt
- Java程序的设计实用教程第2章初识对象和简单数据类型.ppt
- jQuery开发基础第10章jQuery性能优化和 与技巧.ppt
- JSP网络程序的设计与案例开发1JSP概述.pptx
- K10D产品培训知识课件全球鹰K10D产品手册.pptx
- K11产品培训知识课件初稿.ppt
- LED灯控系统(无线)实现物联网的组网和 与数据传输.ppt
- 2025至2030中国婴儿拉式蚊帐行业发展现状及发展趋势与投资风险报告.docx
- 2025至2030中国半导体陶瓷靶行业项目调研及市场前景预测评估报告.docx
- 2025至2030中国果汁行业供需趋势及投资风险报告.docx
- 2025至2030中国双节距滚子链行业项目调研及市场前景预测评估报告.docx
- 2025至2030全球及中国电子电气中的cPDM行业项目调研及市场前景预测评估报告.docx
- 2025至2030工业风幕行业发展趋势分析与未来投资战略咨询研究报告.docx
- 2025至20305G技术行业发展趋势分析与未来投资战略咨询研究报告.docx
- 2025至2030钛合金行业产业运行态势及投资规划深度研究报告.docx
- 2025至2030中国冶金工程施工总承包行业运营态势与投资前景调查研究报告.docx
- 2025至2030铁路IT支出行业产业运行态势及投资规划深度研究报告.docx
最近下载
- 2024年中国零售商调查报告—全球化视角之海外门店拓展.pdf VIP
- 八大特殊作业(八大危险作业)安全管理知识与规范培训(PPT132页).pptx VIP
- 银行会计岗位招聘笔试题(某大型集团公司)试题集解析.docx VIP
- 磅房计量考试试题及答案.doc VIP
- 绿化养护标准及收费办法.docx VIP
- 儿童闭塞性细支气管炎的诊断和治疗(2023版)专家共识解读课件.pptx VIP
- CTX-M耐药基因流行病学调查及耐药机制研究.pdf
- 中国共产党纪律处分条例测试题附答案+考试注意事项.doc VIP
- 财务会计与税务会计差异及协调探讨.doc VIP
- (高清版)DG∕TJ 08-2410-2022 文物和优秀历史建筑消防技术标准.docx VIP
文档评论(0)