いくつかの行を更新する PL/SQL 関数 (Oracle 10g で実行) があります。UPDATE によって影響を受けた行数を確認する方法はありますか? クエリを手動で実行すると、影響を受けた行数が示されます。その数を PL/SQL で取得したいと思います。
ベストアンサー1
変数を使用します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;