【发布时间】:2018-07-02 06:25:31
【问题描述】:
在packA里面我有一个程序:
procedure testA
is
v1 varchar2(3200) = 'schema1.packB.test2('''||P1||''','''||P2||''',''Name1'',''Name2'',20,30)';
begin
EXECUTE IMMEDIATE v1;
end;
当我测试它时:
begin
packA.testA();
end;
我收到错误:“无效的 SQL 语句”
但是,当我从命令行执行 v1 时,例如:
excecute schema1.packB.test2('ABC','DEF','Name1','Name2',20,30);
它正在工作。
我打印了v1看看执行了什么,看起来和"schema1.packB.test2('ABC','DEF','Name1','Name2',20,30)"一模一样
【问题讨论】:
-
您所说的“包装”是指“包装”吗?如果是这样,'Execute procedure from pack' 是否意味着'Execute package procedure'?
-
是的,包,是的,从包中执行过程
标签: oracle stored-procedures plsql oracle12c