通过PL/SQL使用FOR循环在表中插入不同的记录
我希望以这种方式在表中插入数据,以便在命令运行时输入不同的数据。 像 当我运行程序时,输入no_of_记录(5或任意数字),并输入名称和其他数据。结果,相同数据显示5次(或记录输入次数)。我希望每5次输入唯一的数据。PL/SQL过程不是交互式的。如果要插入不同的值,请使用存储过程替换此匿名PL/SQL块,并根据需要多次运行它,每次都提供新值 例如:通过PL/SQL使用FOR循环在表中插入不同的记录,sql,oracle,plsql,Sql,Oracle,Plsql,我希望以这种方式在表中插入数据,以便在命令运行时输入不同的数据。 像 当我运行程序时,输入no_of_记录(5或任意数字),并输入名称和其他数据。结果,相同数据显示5次(或记录输入次数)。我希望每5次输入唯一的数据。PL/SQL过程不是交互式的。如果要插入不同的值,请使用存储过程替换此匿名PL/SQL块,并根据需要多次运行它,每次都提供新值 例如: SQL> create table test (name varchar2(20), class number); Table create
SQL> create table test (name varchar2(20), class number);
Table created.
SQL> create or replace procedure p_test (par_name in varchar2, par_class in number) as
2 begin
3 insert into test (name, class) values (par_name, par_class);
4 end;
5 /
Procedure created.
我的建议是对字符串使用标准的
varchar2
类型,除非您特别需要其他内容,例如nvarchar2
或clob
。不是char
。
SQL> create table test (name varchar2(20), class number);
Table created.
SQL> create or replace procedure p_test (par_name in varchar2, par_class in number) as
2 begin
3 insert into test (name, class) values (par_name, par_class);
4 end;
5 /
Procedure created.
SQL> exec p_test('&name', &class);
Enter value for name: LF
Enter value for class: 1
PL/SQL procedure successfully completed.
SQL> exec p_test('&name', &class);
Enter value for name: Bigfoot
Enter value for class: 2
PL/SQL procedure successfully completed.
SQL> exec p_test('&name', &class);
Enter value for name: Scott
Enter value for class: 3
PL/SQL procedure successfully completed.
SQL> select * From test;
NAME CLASS
-------------------- ----------
LF 1
Bigfoot 2
Scott 3
SQL>