欢迎来到天天文库
浏览记录
ID:14707057
大小:56.50 KB
页数:23页
时间:2018-07-30
《mysql存储过程的创建》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、MySQL存储过程的创建MySQL存储过程的创建(1).格式MySQL存储过程创建的格式:CREATEPROCEDURE过程名([过程参数[,...]])[特性...]过程体这里先举个例子:mysql>DELIMITER//mysql>CREATEPROCEDUREproc1(OUTsint)->BEGIN->SELECTCOUNT(*)INTOsFROMuser;->END->//mysql>DELIMITER;注:(1)这里需要注意的是DELIMITER//和DELIMITER;两句,DELIMITER是分割符的意思,因为MySQL默认以";"为分
2、隔符,如果我们没有声明分割符,那么编译器会把存储过程当成SQL语句进行处理,则存储过程的编译过程会报错,所以要事先用DELIMITER关键字申明当前段分隔符,这样MySQL才会将";"当做存储过程中的代码,不会执行这些代码,用完了之后要把分隔符还原。(2)存储过程根据需要可能会有输入、输出、输入输出参数,这里有一个输出参数s,类型是int型,如果有多个参数用","分割开。(3)过程体的开始与结束使用BEGIN与END进行标识。这样,我们的一个MySQL存储过程就完成了,是不是很容易呢?看不懂也没关系,接下来,我们详细的讲解。(2).声明分割符其实,关于
3、声明分割符,上面的注解已经写得很清楚,不需要多说,只是稍微要注意一点的是:如果是用MySQL的Administrator管理工具时,可以直接创建,不再需要声明。(3).参数MySQL存储过程的参数用在存储过程的定义,共有三种参数类型,IN,OUT,INOUT,形式如:CREATEPROCEDURE([[IN
4、OUT
5、INOUT]参数名数据类形...])IN输入参数:表示该参数的值必须在调用存储过程时指定,在存储过程中修改该参数的值不能被返回,为默认值OUT输出参数:该值可在存储过程内部被改变,并可返回INOUT输入输出参数:调用时指定,并且可被改变和返
6、回Ⅰ.IN参数例子创建:mysql>DELIMITER//mysql>CREATEPROCEDUREdemo_in_parameter(INp_inint)->BEGIN->SELECTp_in;->SETp_in=2;->SELECTp_in;->END;->//mysql>DELIMITER;执行结果:mysql>SET@p_in=1;mysql>CALLdemo_in_parameter(@p_in);+------+
7、p_in
8、+------+
9、1
10、+------++------+
11、p_in
12、+------+
13、2
14、+------+mysql>S
15、ELECT@p_in;+-------+
16、@p_in
17、+-------+
18、1
19、+-------+以上可以看出,p_in虽然在存储过程中被修改,但并不影响@p_id的值Ⅱ.OUT参数例子创建:mysql>DELIMITER//mysql>CREATEPROCEDUREdemo_out_parameter(OUTp_outint)->BEGIN->SELECTp_out;->SETp_out=2;->SELECTp_out;->END;->//mysql>DELIMITER;执行结果:mysql>SET@p_out=1;mysql>CALLsp_demo_
20、out_parameter(@p_out);+-------+
21、p_out
22、+-------+
23、NULL
24、+-------++-------+
25、p_out
26、+-------+
27、2
28、+-------+mysql>SELECT@p_out;+-------+
29、p_out
30、+-------+
31、2
32、+-------+Ⅲ.INOUT参数例子创建:mysql>DELIMITER//mysql>CREATEPROCEDUREdemo_inout_parameter(INOUTp_inoutint)->BEGIN->SELECTp_inout;->SETp_inout
33、=2;->SELECTp_inout;->END;->//mysql>DELIMITER;执行结果:mysql>SET@p_inout=1;mysql>CALLdemo_inout_parameter(@p_inout);+---------+
34、p_inout
35、+---------+
36、1
37、+---------++---------+
38、p_inout
39、+---------+
40、2
41、+---------+mysql>SELECT@p_inout;+----------+
42、@p_inout
43、+----------+
44、2
45、+----------+(4).变量Ⅰ.
46、变量定义DECLAREvariable_name[,variable_name...]data
此文档下载收益归作者所有