Есть ли способ установить имя схемы как переменную в oracle процедуре?
создать или заменить процедуру тестом v_schema varchar2 (30);
begin
вставить в v_schema.tab_a (a, b) выбрать (a, b) из xyz;
end; /
Спасибо
Вам нужно прибегнуть к динамическим c SQL
create or replace procedure test is v_schema varchar2(30); v_sql varchar2(1000); begin v_sql := 'insert into ' || v_schema || '.tab_a( a, b ) ' || 'select a, b from xyz'; dbms_output.put_line( 'About to execute the statement ' || v_sql ); execute immediate v_sql; end;
Пара моментов
xyz
tab_a