我有一個語句級別的觸發器,只要在一個表(稱爲客戶)上執行INSERT UPDATE或DELETE操作時觸發。我想顯示一條消息(到DBMS_OUTPUT),其中包含插入/更新/刪除的行數。如何在語句觸發器中獲取語句影響的行數
我只想爲每個觸發語句寫一條消息,例如 '將4行插入customers表'中。
我如何可以訪問從內部觸發聲明受觸發語句的行數,即在XXX下面的代碼:
CREATE OR REPLACE TRIGGER customer_changes_trigger_2
AFTER INSERT OR UPDATE OR DELETE ON customers
DECLARE
v_operation VARCHAR(10);
v_number_rows NUMBER;
BEGIN
v_number := XXX;
IF INSERTING THEN
v_operation := 'inserted';
END IF;
IF UPDATING THEN
v_operation := 'updated';
END IF;
IF DELETING THEN
v_operation := 'deleted';
END IF;
DBMS_OUTPUT.PUT_LINE
(v_number_rows|| ' rows were ' || v_operation || ' from customers.');
END;
無法找到文檔中任何東西,任何幫助不勝感激!
爲什麼最初你想要'dbms_output'嗎?你會去那裏檢查每一次?此時用於調試的 – Ben 2012-01-07 14:37:02
,稍後插入到表中。 – dav83 2012-01-07 14:39:20
爲什麼不只是將觸發器更改爲'對於每一行'並插入到您的跟蹤表中,然後有一個單獨的查詢來總結它們? – Ben 2012-01-07 15:18:23