Oracle中的动态SQL问题

| 我有一个存储过程
create or replace  procedure GETFILE(TableName in VARCHAR2)
is
No_Rows Number :=0;
state varchar2(100);
begin
state :=\' select    count(*)  into   :p_id     from   \' || inTableName;
EXECUTE IMMEDIATE state using out NO_ROWS;

end;
end;
存储过程已成功创建。 但是当我使用以下命令运行它时:
declare
begin
GETFILE(\'TABLE_NAME\');
end;
它显示“ ORA-01006:绑定变量不存在” 错误。 任何的想法?
已邀请:
这是否可以满足您的要求(您可能要删除put_line)...:
create or replace  procedure GETFILE(inTableName in VARCHAR2)
is
No_Rows Number :=0;
state varchar2(100);
begin
 state :=\' select    count(*)   from   \' || inTableName;
dbms_output.put_line(state);
EXECUTE IMMEDIATE state into NO_ROWS;
dbms_output.put_line(no_rows);
end;
/

declare
begin
getfile(\'dual\');
end;
/
我认为这里没有任何编码错误 因此,我认为您必须确保正在创建和执行过程 在相同的数据库或相同的架构下

要回复问题请先登录注册