0

我有一个试图在 12c 中运行的小型 pl/sql 程序,代码如下:

create or replace procedure p_ins_tbl(tbl_name in varchar2) as
begin 
execute immediate 'insert into ' ||tbl_name|| 'values(121,''asdfasdf'',6)' ;
end p_ins_tbl;

编译成功,

当我尝试使用执行它时: execp_ins_tbl(countries);

我得到的错误是:

Error starting at line 6 in command:
exec p_ins_tbl(countries)
Error report:
ORA-06550: line 1, column 17:
PLS-00357: Table,View Or Sequence reference 'COUNTRIES' not allowed in this context
ORA-06550: line 1, column 7:
PL/SQL: Statement ignored
06550. 00000 -  "line %s, column %s:\n%s"
*Cause:    Usually a PL/SQL compilation error.
*Action:

你有什么理由得到这个?如果是这样,程序中是否有任何错误,请纠正我..提前谢谢。

4

1 回答 1

4

尝试这个:

execute p_ins_tbl('countries');
于 2014-08-21T13:51:36.553 回答