1. ホーム
  2. oracle

[解決済み] PL/SQLでUPDATEしたときに影響を受ける行の数

2022-04-21 10:34:32

質問事項

Oracle 10gで動作するPL/SQL関数で、いくつかの行を更新しています。UPDATEによって影響を受けた行の数を知る方法はありますか?手動でクエリを実行すると、影響を受けた行の数が表示されますが、PL/SQLでその数を取得したいのです。

どのように解決しますか?

を使用します。 sql%rowcount 変数を使用します。

影響を受ける行数を求める文の直後で、これを呼び出す必要があります。

例えば

set serveroutput ON; 
DECLARE 
    i NUMBER; 
BEGIN 
    UPDATE employees 
    SET    status = 'fired' 
    WHERE  name LIKE '%Bloggs'; 
    i := SQL%rowcount; 
    --note that assignment has to precede COMMIT
    COMMIT; 
    dbms_output.Put_line(i); 
END;