0

I would like to create a procedure with a while but I have an error.

Here is my procedure:

Delimiter //
create procedure procedure1 ()
 BEGIN
Declare i INT;
set i=1;
while i< 74 do
execute immediate 'insert into main values(3,"samples")'
set i=1+1;
end while;
 end //

I got this error

ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that on for   the right syntax to use near ''insert into main values(3,"samples")'

Someone has an idea please?

2 Answers2

0

Change your insert query in procedure like below

insert into main values(3,'samples')
Rahul
  • 76,197
  • 13
  • 71
  • 125
0

Use it like this : - store your query into a variable

Delimiter //
create procedure procedure1 ()
 BEGIN
Declare i INT;
v_Sql VARCHAR2(2000);
set i=1;
v_Sql :='insert into main values(3,"samples")';
while i< 74 do
EXECUTE IMMEDIATE v_Sql ;
set i=1+1;
end while;
 end //
Up_One
  • 5,213
  • 3
  • 33
  • 65