欢迎来到天天文库
浏览记录
ID:43513161
大小:1.27 MB
页数:57页
时间:2019-10-09
《MySQL数据库基础与实例教程第8章》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、孔祥盛MySQL数据库基础与实例教程之存储过程与游标123本章主要讲解如何在MySQL中使用存储过程,并结合“选课系统”讲解存储过程在该系统中的应用,最后本章对存储程序做了总结。4错误触发条件和错误处理存储过程游标预处理SQL语句5存储程序的说明内容一览123存储过程也可以看作是一个“加工作坊”,它接收“调用者”传递过来的“原料”(in参数),然后将这些“原料”“加工处理”成“产品”(存储过程的out参数或inout参数),再把“产品”返回给“调用者”。存储过程的调用创建存储过程的语法格式“选课系统”的存储过程45查看存储过程的
2、定义删除存储过程6存储过程与函数的比较8.1存储过程创建存储过程的语法格式如下。createprocedure存储过程名(参数1,参数2,…)[存储过程选项]begin存储过程语句块;end;8.1.1创建存储过程的语法格式存储过程选项由以下一种或几种选项组合而成。具体含义请查看函数选项的内容。languagesql
3、[not]deterministic
4、{containssql
5、nosql
6、readssqldata
7、modifiessqldata}
8、sqlsecurity{definer
9、invoker}
10、comment'注释
11、'8.1.1创建存储过程的语法格式与函数相同之处在于:存储过程的参数也是局部变量,也需要提供参数的数据类型;与函数不同的是,存储过程有三种类型的参数:in参数、out参数以及inout参数。8.1.1创建存储过程的语法格式in代表输入参数(默认情况下为in参数),表示该参数的值必须由调用程序指定;out代表输出参数,表示该参数的值经存储过程计算后,将out参数的计算结果返回给调用程序;inout代表即是输入参数,又是输出参数,表示该参数的值即可以由调用程序指定,又可以将inout参数的计算结果返回给调用程序。8.1.1创建存储过
12、程的语法格式例如下面的存储过程:delimiter$$createprocedureget_choose_number_proc(instudent_no1int,outchoose_numberint)readssqldatabeginselectcount(*)intochoose_numberfromchoosewherestudent_no=student_no1;end$$delimiter;8.1.1创建存储过程的语法格式调用存储过程须使用call关键字,另外还要向存储过程传递in参数、out参数或者inout参数。
13、例如:set@student_no='2012001';set@choose_number=0;callget_choose_number_proc(@student_no,@choose_number);select@choose_number;8.1.2存储过程的调用存储过程get_choose_number_proc()中的in参数与out参数的数据类型都为整数,也可以将这两个参数简化为一个inout参数。8.1.2存储过程的调用delimiter$$createprocedureget_choose_number1_pr
14、oc(inoutnumberint)readssqldatabeginselectcount(*)intonumberfromchoosewherestudent_no=number;end$$delimiter;8.1.2存储过程的调用set@number='2012001';callget_choose_number1_proc(@number);select@number;8.1.2存储过程的调用任务布置1:上机操作,完成本书场景描述1的任务要求。任务布置2:上机操作,完成本书场景描述2的任务要求。任务布置3:上机操作,完
15、成本书场景描述3的任务要求。8.1.3“选课系统”的存储过程可以使用下面四种方法查看存储过程的定义、权限、字符集等信息。1.使用showprocedurestatus命令查看存储过程的定义。2.查看某个数据库(例如choose数据库)中的所有存储过程名,可以使用下面的SQL语句。selectnamefrommysql.procwheredb='choose'andtype='procedure';8.1.4查看存储过程的定义3.使用MySQL命令“showcreateprocedure存储过程名;”可以查看指定数据库指定存储过程
16、的详细信息。例如查看get_choose_number_proc()存储过程的详细信息,可以使用“showcreateprocedureget_choose_number_procG”8.1.4查看存储过程的定义4.存储过程的信息都保存在information
此文档下载收益归作者所有