Итак, у меня есть программное обеспечение .NET, использующее Oracle в качестве платформы базы данных. Отчет в этом программном обеспечении будет вызывать процедуры из схемы Oracle, которые будут запускать ряд обновлений/вставок/удалений/слияний в базе данных.Oracle - использование SQL% ROWCOUNT для целей аудита
Теперь из исследования я вижу, что SQL% ROWCOUNT может использоваться, чтобы сообщить запросам указать количество строк в DBMS_OUTPUT, но так, как я понимаю, это будет работать, если я выполню эти процедуры из программного обеспечения запроса (т.е. SQL Plus, TOAD и т. д.).
Мне нужно найти способ отображения отчета о том, сколько строк было затронуто.
Теперь, если я не пропущу что-то основное, я думаю, что самый простой способ - вставить в таблицу аудита SQL% ROWCOUNT затронутых строк, а затем вызвать ее с сообщением после того, как процедуры завершили свою работу.
Итак, наконец, возникли проблемы с тем, как я мог это сделать.
Большое спасибо!
UPDATE:
Ok. Так что моя SPs была немного сложнее с курсорами, динамическим SQL и многим другим - как таковые с вашей идеей и оказала помощь этой темы от AskTom мне удалось получить ниже:
declare v_count number;
.......
loop
fetch v_data into v_database_name;
exit when v_data%NOTFOUND;
sql_update := 'merge PL/SQL block';
execute immediate 'begin ' || sql_update || '; :x := sql%rowcount; end;' using OUT v_count;
update cw_script_audit set sparam = sparam||'//'||v_count where hmy = 5063;
commit;
sql_alter := 'alter session close database link '||v_database_name;
execute immediate sql_alter;
commit;
end loop;
...........
**update cw_script_audit set sparam = sparam||'//'||v_count where hmy = 5063;**
**This line updates a single static record for testing purposes**
Большое спасибо - проверьте мое обновление в вопросе. Ваша помощь плюс немного больше, и я думаю, что получил. Теперь адаптировать все, что я написал до сих пор. :) – EkeshOkor
@EkeshOkor - отлично, рад, что я мог бы помочь. Если бы вы могли, дайте мне взнос PLZ. :-) – tale852150
конечно, извините за то. я застрял в голове, что мне нужно ждать 2 дня до этого: \ - но это применимо только к вашему собственному ответу – EkeshOkor