可以通过动态执行设置模式方式,但是要求存储过程所在的模式下是有要查询的表的,否则存储过程编译会报错找不到对应的表:
create or replace procedure sch_test(schename varchar)
as
cont int;
begin
execute immediate 'set schema '||schename;
– EXECUTE IMMEDIATE 'select count() from T_USER1’ into cont ;
select count() into cont from T_USER1;
PRINT cont;
end;
可以通过动态执行设置模式方式,但是要求存储过程所在的模式下是有要查询的表的,否则存储过程编译会报错找不到对应的表:
create or replace procedure sch_test(schename varchar)
as
cont int;
begin
execute immediate 'set schema '||schename;
– EXECUTE IMMEDIATE 'select count() from T_USER1’ into cont ;
select count() into cont from T_USER1;
PRINT cont;
end;
如果没有对应的表,只能采用动态执行SQL的方式,即上面注释掉的部分。