mysql5存储过程和asp如何执行存储过程
mysql5存储过程编写实践
+ e6 E4 J0 V$ N8 u我爱电脑技术论坛MySql5.0以后均支持存储过程,最近有空,研究了一把这个我爱电脑技术社区--打造最好的电脑技术自学交流平台, d/ j$ P8 n3 j4 w3 u
格式:
0 @8 W& B: Z q* O* p0 }CREATE PROCEDURE 过程名 ([过程参数[,...]])www.520diannao.com5 u+ L9 ^& j2 n4 s0 E y
[特性 ...] 过程体电脑,技术,IT,学习,交流,网络安全,QQ,硬件,软件,编程,教程,建站+ X# Y0 w9 t( G: X
电脑,技术,IT,学习,交流,网络安全,QQ,硬件,软件,编程,教程,建站+ B- W1 D7 X0 i, `
CREATE FUNCTION 函数名 ([函数参数[,...]])
2 {; [9 |3 x# M8 H3 d3 s我爱电脑技术社区--打造最好的电脑技术自学交流平台RETURNS 返回类型
+ F. t, X [, b我爱电脑技术论坛[特性 ...] 函数体
( [3 O" a( z% Q% a9 l8 U6 `$ a+ }我爱电脑技术社区--打造最好的电脑技术自学交流平台
' f4 `+ Y. F4 ~7 R过程参数:! ^9 o4 L s* X3 d
[ IN | OUT | INOUT ] 参数名 参数类型www.520diannao.com) k% u% c9 N1 P- D+ H1 [- ~
1 g& f0 |- p1 U/ W3 Q5 c我爱电脑技术社区--打造最好的电脑技术自学交流平台函数参数:打造最好的电脑自学交流论坛6 ^2 u5 i5 D; n7 z/ U
参数名 参数类型电脑,技术,IT,学习,交流,网络安全,QQ,硬件,软件,编程,教程,建站' v5 u% {$ i9 Z+ r- Z
. a; B% P) ]0 M* ?
返回类型:
% L0 O4 z9 j" ^5 K& ~' p有效的MySQL数据类型即可我爱电脑技术社区--打造最好的电脑技术自学交流平台5 K0 j5 |7 a8 A7 i+ w- q
' g; B4 I* }# Z8 }& z- L特性:打造最好的电脑自学交流论坛 Z" f' `6 ~$ ]
LANGUAGE SQL
# n' M$ e+ S0 E% z5 \+ w1 d _5 ?我爱电脑技术社区--打造最好的电脑技术自学交流平台| [NOT] DETERMINISTIC
: U2 A- R7 `4 @$ G- D. |# Q( I打造最好的电脑自学交流论坛| { CONTAINS SQL | NO SQL | READS SQL DATA | MODIFIES SQL DATA }打造最好的电脑自学交流论坛) C( W; W3 V+ w6 f+ N$ V
| SQL SECURITY { DEFINER | INVOKER }打造最好的电脑自学交流论坛0 K+ }, Y- L8 k+ u1 M; A
| COMMENT 'string'
! n% P4 M$ g8 N8 a我爱电脑技术论坛电脑,技术,IT,学习,交流,网络安全,QQ,硬件,软件,编程,教程,建站1 Q f3 [( k; \' J
过程体/函数体:格式如下:
# ]3 y b$ x& Hwww.520diannao.comBEGIN
( D# E5 V) V* L% e* a& E/ ?www.520diannao.com有效的SQL语句我爱电脑技术论坛: J I" S& B; i& [) z
END 打造最好的电脑自学交流论坛8 G6 b- k2 V" S, @* G- w: ~* x) I
# V# c$ E! y9 I: L" E4 D" Z# L+ z打造最好的电脑自学交流论坛我在这里不关心专有的特性,这些与SQL规范不兼容,所以characteristic(特性)的相关内容不作考虑。我爱电脑技术社区--打造最好的电脑技术自学交流平台$ Z( p1 X, L- {2 W- H6 A
//www.520diannao.com- ^" X2 @/ u, P4 w. b( K! q/ a1 M
在开发过程中有几点要注意:www.520diannao.com" E- j; N4 ^. e$ e: R% T. I
1、存储过程注释:MySQL支持采用--或者/**/注释,其中前者是行注释,后者是段式注释
9 a& U3 ^2 S5 G# g/ i2、变量首先用declare申明,其中临时变量可以直接以@前缀修饰以供引用(临时变量少用)我爱电脑技术论坛( F4 Q9 `, z, a5 Q
3、直接采用MySQL的Administrator管理器编辑时,可以直接采用如下函数文本录入;
" w! N! \" L' E0 N我爱电脑技术社区--打造最好的电脑技术自学交流平台但若在脚本中自动导入存储过程或函数时,由于MySQL默认以";"为分隔符,则过程体的每一句都被MySQL以存储过程编译,则编译过程会报错;所以要事先用DELIMITER关键字申明当前段分隔符用完了就把分隔符还原。 如下所示: