论坛积分策略 论坛VIP区开放申请 我爱电脑万人签名活动 原声大碟520欢迎你 广告位招租
发新话题
打印

mysql5存储过程和asp如何执行存储过程

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关键字申明当前段分隔符用完了就把分隔符还原。 如下所示:

TOP

DELIMITER$$
5 s/ L+ V) F) @% Z3 ?3 ~' A% twww.520diannao.comStored Procedures and Functions
; i8 N8 e" ^" V/ o/ J: K' l我爱电脑技术社区--打造最好的电脑技术自学交流平台DELIMITER ;打造最好的电脑自学交流论坛% L/ L# t  n9 h) P3 {( ~$ Q
4、MySQL支持大量的内嵌函数,注意有些是和大型商用数据库如oracle、informix、sybase等一致  o$ q# x! t9 Z5 o; t0 b' A7 k8 Y" s
5、存储过程或函数的调试:我目前还没有研究MySQL所带的各种工具包,还不清楚其提供了调试工具没有,不过编译错误相对好查找;至于业务流程的调试,可以采用一个比较笨的方法,就是创建一个调试我爱电脑技术论坛* Y5 ?5 f$ A" J
表,在包体中各个流程点都插入一条记录,以观察程序执行流程。这也是一个比较方便的笨办法。^_^' p5 h# l$ o1 ^# x2 q

% Y/ R5 v' g7 K: V. f6 U) z我爱电脑技术社区--打造最好的电脑技术自学交流平台存储过程权限有三:alter,create,execute
6 L! S- o8 R# _. ]电脑,技术,IT,学习,交流,网络安全,QQ,硬件,软件,编程,教程,建站一般要求给alter吓execute就可以了
& }, o7 u# R" ]5 X% Qwww.520diannao.com打造最好的电脑自学交流论坛/ v# g1 l3 q1 z- Y. l/ ]$ r0 L; z
-----------
+ D, A& \7 j1 R/ n我爱电脑技术论坛0720 13:43出现问题:我爱电脑技术社区--打造最好的电脑技术自学交流平台: O; X$ F% o+ J
delimiter是定义存储过程结束符,例如: DELIMITER $$,去掉后,就可以了,其实不是必须的,而;作为句尾。
$ \* T, c. d5 {' ]2 Q9 z我爱电脑技术社区--打造最好的电脑技术自学交流平台
$ w' a0 S  X6 r9 k1 H# \% x! ~打造最好的电脑自学交流论坛--------
' J* h/ I- c; x. k; _* [2 c' n我爱电脑技术社区--打造最好的电脑技术自学交流平台20061011
" _" f( Z, E" A打造最好的电脑自学交流论坛<font face="宋体" size=2>[MySQL][ODBC 3.51 Driver][mysqld-5.0.22-standard-log]There is no '%'@'%' registered</font>错误
3 x" `" F( t2 u, \1 v  G- _. lwww.520diannao.com查得asp文件是www.520diannao.com: Y( M# P2 ~8 u) u
conn.execute ("call wap_AllotOrder("&orders_id&","&num&")")
# z) Z1 S* y0 c& `8 x2 S) Hwww.520diannao.com然后发现时create procedure时用户权利没有制定,应该用create definer 'wap'@'%' procedure ....

TOP

发新话题