MySQL存储过程
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了MySQL存储过程,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2035字,纯文字阅读大概需要3分钟。
内容图文
![MySQL存储过程](/upload/InfoBanner/zyjiaocheng/456/101f3350d9b0427bb819292af4b1bc14.jpg)
1. MSSQL的关键字procedure可以缩写为proc,而MySQL不能;
2. MySQL参数要申明是in、out还是inout,而MSSQL不用;
3. MySQL用CALL调用存储过程,MSSQL用EXEC;
4. MySQL有输出参数时要用变量@赋值并查询;
关键字参数、分页
实例1:
mysql> create procedure cs_ro_getquestionlist -> ( -> in b int,-- 起始位置 -> in l int,-- 条数 -> in kw nvarchar(100)-- 关键字 -> ) -> begin -> select id,title from w_question where locate(kw,title)>0 limit b,l; -> end; mysql> call cs_ro_getquestionlist(0,10,‘中国‘);
含有输入、输出参数
实例2:
mysql> create procedure cs_ro_getquestionlist -> ( -> in b int,-- 起始位置 -> in l int,-- 条数 -> in kw nvarchar(100),-- 关键字 -> out t int-- 返回总数 -> ) -> begin -> select count(1) into t from w_question where locate(kw,title)>0; -> select id,title from w_question where locate(kw,title)>0 limit b,l; -> end; mysql> call cs_ro_getquestionlist(0,10,‘中国‘,@a); mysql> select @a;
事务处理
实例3:
mysql> create procedure cs_px_addclass -> ( -> in nid int, -> in nname nvarchar(20), -> in nQuestionNum int, -> in npx int, -> in npycode nvarchar(20) -> ) -> begin -> DECLARE t_error INTEGER DEFAULT 0; -> DECLARE CONTINUE HANDLER FOR SQLEXCEPTION SET t_error=1; -> START TRANSACTION;-- 事务开始 -> insert into w_questionclass(id,name,questionnum,px,pycode) -> VALUES (nid,nname,nquestionnum,npx,npycode); -> IF t_error = 1 THEN-- 如果失败则回滚 -> ROLLBACK; -> ELSE -> COMMIT;-- 执行成功,事务结束 -> END IF; -> select t_error;-- 将事务的执行状态返回给被调者 -> end; mysql> call cs_px_addclass(1,‘测试‘,1,1,‘cs‘);
+--------+
| t_error|
+--------+
| 1 |
+--------+
本文出自 “sukun” 博客,请务必保留此出处http://sukunwu.blog.51cto.com/10453116/1688340
MySQL存储过程
标签:mysql 存储过程 事务 分页 输出参数
本文系统来源:http://sukunwu.blog.51cto.com/10453116/1688340
内容总结
以上是互联网集市为您收集整理的MySQL存储过程全部内容,希望文章能够帮你解决MySQL存储过程所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。