调用存储过程错误

nianzhang747 2009-09-08 10:55:17
mysql> delimiter //
mysql> create procedure tt()
-> begin
-> declare id integer;
-> set id=1;
-> while(id<300)
-> do
-> set id=id+1;
-> set @ee= concat ("insert into url(urladdr) values('')","");
-> end while;
-> prepare ee from @v_flag;
-> EXECUTE ee ;
-> DEALLOCATE PREPARE ee;
-> end;
-> //
Query OK, 0 rows affected (0.00 sec)

mysql> delimiter ;
mysql> call tt();
ERROR 1064 (42000): 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 'NULL
at line 1
mysql>
...全文
87 5 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
nianzhang747 2009-09-09
  • 打赏
  • 举报
回复
nianzhang747 2009-09-09
  • 打赏
  • 举报
回复

























































































nianzhang747 2009-09-09
  • 打赏
  • 举报
回复
delimiter //
create procedure tt()
begin
declare id integer;
set id=1;
while(id <300)
do
set id=id+1;
set @ee= concat("insert into url(urladdr) values('')"," ");
prepare v_flag from @ee;
EXECUTE v_flag;
DEALLOCATE PREPARE v_flag;
end while;
end;
//
OK 3Q
阿_布 2009-09-09
  • 打赏
  • 举报
回复
给你修改了一下:

delimiter //
create procedure tt()
begin
declare id integer;
set id=1;
while(id <300)
do
set id=id+1;
set @ee= concat("insert into url(urladdr) values('')"," ");
prepare v_flag from @ee; <--v_flag放在前面,后面是语句
EXECUTE v_flag;
DEALLOCATE PREPARE v_flag;
end while;
end;
//
nianzhang747 2009-09-08
  • 打赏
  • 举报
回复
drop procedure if exists tt;
delimiter //
create procedure tt()
begin
declare id integer;
set id=1;
while(id<300)
do
set id=id+1;
set @ee= concat ("insert into url(urladdr) values('')","");
end while;
prepare ee from @v_flag;
EXECUTE ee ;
DEALLOCATE PREPARE ee;
end;
//
delimiter ;

56,912

社区成员

发帖
与我相关
我的任务
社区描述
MySQL相关内容讨论专区
社区管理员
  • MySQL
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧