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>
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>
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 ;
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;
//
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