本人在学习pl/sql时,遇到了如标题所示错误。
创建表和存储过程
-
create table aj_ap(
-
a number,
-
com number,
-
date1 date,
-
date2 date
-
);
-
-
create or replace procedure pro_inser(a in number,com in number,date1 in varchar2,date2 in varchar2)
-
is
-
begin
-
insert into aj_ap values(a,com,to_date(\'date1\',\'yyyy-mm-dd\'),to_date(\'date2\',\'yyyy-mm-dd\'));
-
end;
然后执行存储过程:
-
declare
-
a number:=101;
-
com number;
-
date1 varchar2(10);
-
date2 varchar2(10);
-
begin
-
while a<=100015 loop
-
exec pro_inser(a,&com,&date1,&date2);
-
a:=a+1;
-
end loop;
-
end;
出现的error如下:
解决方法:
将语句:
-
exec pro_inser(a,&com,&date1,&date2);
改为:
-
pro_inser(a,&com,&date1,&date2);
因为exec是执行,要知道:
begin
过程名(*****);
end;
等价于: exec 过程名(*****);
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/26435490/viewspace-1076803/
,如需转载,请注明出处,否则将追究法律责任。