首页 > 代码库 > Mysql 命令行下建立存储过程
Mysql 命令行下建立存储过程
建立存储过程的sql如下:
CREATE PROCEDURE proc_variable ()BEGINDECLARE dec_var_ VARCHAR(100);DECLARE rep_num INT;DECLARE dec_var CURSOR for SELECT ID_ FROM ACT_RU_VARIABLE WHERE NAME_ = ‘yjdqsj‘ GROUP BY EXECUTION_ID_ HAVING COUNT(NAME_) >1;OPEN dec_var;REPEATFETCH dec_var INTO dec_var_;DELETE FROM ACT_RU_VARIABLE WHERE ID_ = dec_var_;UNTIL rep_num END REPEAT;CLOSE dec_var;end;
如果把上面的语句直接执行的话,遇到第一个‘;‘就结束了,然后剩下的都会报错。原因是默认mysql命令结束符是分号,需要修改结束符才可以执行。
mysql(root@localhost:jjsworkflow)>delimiter // #修改命令终止符为//(random)mysql(root@localhost:jjsworkflow)>CREATE PROCEDURE proc_variable ()-> BEGIN-> DECLARE dec_var_ VARCHAR(100);-> DECLARE rep_num INT;-> DECLARE dec_var CURSOR for SELECT ID_ FROM ACT_RU_VARIABLE WHERE NAME_ = ‘yjdqsj‘ GROUP BY EXECUTION_ID_ HAVING COUNT(NAME_) >1;-> OPEN dec_var;-> REPEAT-> FETCH dec_var INTO dec_var_;-> DELETE FROM ACT_RU_VARIABLE WHERE ID_ = dec_var_;-> UNTIL rep_num END REPEAT;-> CLOSE dec_var;-> end;-> // ##语句最后需要已上面声明的//结尾enter才能被执行
即把//’‘‘//之间的内容封装到一起执行。此修改是session级别,退出后即失效
Mysql 命令行下建立存储过程
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。