PL/SQL 中受 UPDATE 影响的行数

问题描述

您使用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;

解决方法

我有一个 PL/SQL 函数(在 Oracle 10g 上运行),我在其中更新了一些行。有没有办法找出 UPDATE
影响了多少行?手动执行查询时,它告诉我有多少行受到影响,我想在 PL/SQL 中获取该数字。