收藏 分享(赏)

(24.1)--第23讲:实用高效的存储过程(一).pdf

上传人:职教中心 文档编号:13706071 上传时间:2022-10-11 格式:PDF 页数:28 大小:1.52MB
下载 相关 举报
(24.1)--第23讲:实用高效的存储过程(一).pdf_第1页
第1页 / 共28页
(24.1)--第23讲:实用高效的存储过程(一).pdf_第2页
第2页 / 共28页
(24.1)--第23讲:实用高效的存储过程(一).pdf_第3页
第3页 / 共28页
亲,该文档总共28页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

1、第23讲:安全高效的查询优化设计-IN型参数存储过程编程前端与后台的故事SQL语言及其编程1.存储过程为何物存储过程是数据库的一个重要功能,是一组为了完成特定功能的SQL语句集合。 SET语句:赋值语句,可一次为多个变量赋值 SELECT . INTO语句:把查询选定的数据表列值存储到局部变量 DECLARE语句:局部变量声明,可一次声明多个同类型局部变量 过程控制语句过程控制语句 result1result2result3IF(expre1,expr2,expr3) 是否expr1是否TRUE是yes 否Noexpr2expr3 CASE 条件1条件2 真真IF分支 CASE循环过程控制语句

2、Begin_lable: 语句群 真条件end_lable假LOOP循环Begin_lable: 语句群假条件end_lable真REPEAT UNTIL循环 Begin_lable:条件 假语句群end_lable真WHILE循环用存储过程实现查询“雷天阳”同学所在学院、班级、性别及籍贯等信息在SQLyog对象浏览器中打开“school”数据库1应用提醒1、存储过程命名规则与数据库、数据表、列等标识符命名规则一样 2、DELIMITER $END $:声明当前段分隔符 3、DELIMITER ;:意为把分隔符还原回“;”这个英文的分号 4、BEGINEND之间的是过程体,也就是具体要执行的S

3、QL语句组在BEGINEND之间补充过程体,并执行创建存储过程2应用提醒1、BEGINEND之间的过程体中,每条SQL语句要用英文分号“;”结尾 2、/*/用来标 记 程 序 的 注 释部 分 , 注 释 的 目的 是 增 加 程 序 的可读性 3 、 代 码 没 有 任 何语法错误时,即执行创建存储过程 4、如果已经存在同名的存储过程就先删除掉,再执行新建调用存储过程3应用提醒2、存储过程的优点之一就是“可减少网络流量”1、CALL 存储过程名;是存储过程调用语句 3、存储过程的另一个优点“代码封装性和重用性”根据用户提供的学生姓名来查询学生所在学院、班级、性别及籍贯等信息新建存储过程,取名

4、为“pro_stu_name”1补充存储过程的参数和过程体2应用提醒1、括号中是可以给存储过程定义若干个参数的 2、参数的说明形式是:参数模式 参数名 参数类型 3、参数的取名不要与数据表的列名相同 4、IN型参数,在过程体内可以直接使用调用存储过程3根据pro_stu_name()存储过程的定义,CALL pro_stu_name(雷天阳)这个调用语句中必须提供一个字符串参数,否则调用失败应用提醒CALL pro_stu_name(雷天阳)这样调用也会失败,个中原因你能说明吗?应用提醒根据用户提供的学生姓名和课程名称来查询学生的成绩信息新建存储过程,取名为“pro_st_sc”1补充存储过程

5、的参数和过程体2存储过程定义时如果没有指定参数的模式(IN(默认模式),OUT或INOUT),默认按照IN型参数处理应用提醒调用存储过程3调用语句中必须提供两个字符串参数,一个是学生姓名、一个是课程名称,否则调用失败应用提醒应用提醒2、SELECT stuno INTO sno FROM stuinfo WHERE stuname=sname;用来将查询语句选定的值赋予局部变量Sno,为后面处理做好赋值准备。1、用declare声明的Sno、cno、s均为局部变量 3、SELECT CONCAT(sname,cname,CAST(s AS CHAR);用来显示查询结果存储过程:将常用或复杂的工作预先编辑在SQL语句块中。 存储过程特点:封装性、增强 SQL 语句的功能和灵活性。 MySQL的存储过程有三种模式的参数。21 33.本讲小结谢谢观看T h a n k Y o u F o r W a t c h i n g

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 大学课件

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报