0
因此,我有一個使用Oracle作爲數據庫平臺的.NET軟件。此軟件中的報告將調用Oracle架構中的程序,該架構將在數據庫上運行一些更新/插入/刪除/合併。Oracle - 使用SQL%ROWCOUNT進行審計目的
現在從研究我可以看到,SQL%ROWCOUNT可以用來告訴查詢將行數放在DBMS_OUTPUT中 - 但我明白這一點,如果我從查詢軟件執行這些程序將工作(即:SQL Plus,TOAD等)。
我需要找到一種方法來顯示回報告有多少行受到影響。
現在,如果我沒有遺漏一些基本的東西,我想最簡單的方法是插入到受影響的行的SQL%ROWCOUNT的審計表中,然後在過程完成其工作後用報告調用它。
因此最後:在我如何完成這件事上遇到了麻煩。
非常感謝!
UPDATE:
確定。所以,我的SP都有點用遊標,動態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 - 太棒了,很高興我能幫上忙。如果可以的話,給我一個upvote PLZ。 :-) – tale852150
當然,對不起。我一直在腦海中停留,我需要等待2天:\ - 但這隻適用於你自己的答案 – EkeshOkor