在 "Insert、Update、Delete" 之後, 可利用 "SQL%RowCount", 即可滿足上述的需求.
若 "SQL%RowCount = 0", 則表示 "DML 無處理任何資料" or "DML 執行失敗".
若 "SQL%RowCount > 0", 則表示 "DML 有處理資料成功", 且 "其值" 便是處理的資料筆數.
程式碼
-- 建立暫時 Table
create table tom1 ( aa varchar2(100) );
-- 新增測試資料
insert into tom1 values( '1' );
insert into tom1 values( '11' );
insert into tom1 values( '2' );
-- 測試
begin
-- 新增
insert into tom1 values( '3' );
dbms_output.put_line( '新增筆數 = ' || SQL%ROWCOUNT );
-- 修改
update tom1
set aa = 'test' || aa
where aa like '1%';
dbms_output.put_line( '修改筆數 = ' || SQL%ROWCOUNT );
-- 刪除
delete
from tom1;
dbms_output.put_line( '刪除筆數 = ' || SQL%ROWCOUNT );
commit;
end;
-- 移除暫時 Table
drop table tom1;
-- 結果顯示
新增筆數 = 1
修改筆數 = 2
刪除筆數 = 4