在PL / SQL中插入多重值

时间:2015-06-30 10:17:29

标签: sql plsql

我正在尝试使用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;

1 个答案:

答案 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;