Напишем процедуру вставки в таблицу из предыдущего поста.
Имя таблицы и значения передаются через параметры.
Имя таблицы и значения передаются через параметры.
create or replace procedure Alex.DSQL_TEST1(p_table varchar2, pV1 number, pV2 varchar) is --делаем автономную транзакцию в процедуре pragma autonomous_transaction; sql_str varchar2(255); begin --запрос собираем конкатенацией строк (имя таблицы) --и переменными привязки (значения) select 'insert into ' || p_table || ' values(:pV1, :pV2)' into sql_str from dual; execute immediate sql_str using pV1, pV2; dbms_output.put_line('Inserted: ' || sql%rowcount); commit; end;Вызов:
SQL> exec Alex.Dsql_Test1('Alex.I1', 1000010, 'test_str'); PL/SQL procedure successfully completed --- Inserted: 1
Комментариев нет :
Отправить комментарий