mysql存储定义变量问题

新手上路,请多包涵

请问这个存储过程哪里错了,变量不是这么定义的吗, 目的是批量删除存储过程
1 delimiter //
2 CREATE DEFINER=idccapp@% PROCEDURE del_routines()
3 begin
4 declare proccur cursor;
5 for
6 select routine_name from information_schema.routines where routine_type = 'procedure' and routine_schema = 'mytest';
7 declare @procname varchar(100);
8 open proccur;
9 fetch next from proccur into @procname;
10 while(@@FETCH_STATUS = 0);
11 begin
12 exec('drop proc ' + @procname);
13 print(@procname + '已被删除');
14 fetch next from proccur into @procname;
15 end
16 close proccur;
17 deallocate proccur;
18 end
19 delimiter ;
~
~
[root@myecs shell_script]# mysql mytest < delete_routines.sql
ERROR 1064 (42000) at line 2: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ';
for
select routine_name from information_schema.routines where routine_typ' at line 3

阅读 1.5k
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题