我正在尝试使用for循环将值插入表中。我不明白为什么它不起作用。我是初学者。任何帮助将不胜感激。
create or replace procedure valueinput
as i number;
begin
for i in 1..10
loop
man_id number:=&Manager_Id;
man_fname varchar2(100):=&First_Name;
man_lname varchar2(100):=&Last_Name;
emp_id number:=&Employee_ID_Managed;
insert into managerinfo
values (man_id,man_fname,man_lname,emp_id);
i:=i+1;
end loop;
end;
答案 0 :(得分:1)
您必须在PL / SQL块的DECLARATION部分声明您的变量,现在您正在尝试在执行部分中执行此操作。
此外,对于PL / SQL FOR..IN循环,您不需要声明或增加索引。
尝试这样的事情 -
create or replace procedure valueinput
as
man_id number;
man_fname varchar2(100);
man_lname varchar2(100);
emp_id number;
begin
for i in 1..10
loop
man_id :=&Manager_Id;
man_fname :=&First_Name;
man_lname :=&Last_Name;
emp_id :=&Employee_ID_Managed;
insert into managerinfo
values (man_id,man_fname,man_lname,emp_id);
end loop;
end;
最佳做法是将变量类型声明为与您要插入的表格列相同。
例如 -
man_id managerinfo.manager_id%TYPE;