0
我想之前在表上客戶INSERT或UPDATE觸發器創建觸發器的:觸發器無法在同一個表上查詢?
Create table customer
(CustNum Number,
DebitNum Number
);
我需要在觸發做的驗證是指客戶未與同一DebitNum分配兩次。
所以我的觸發代碼:
CREATE OR REPLACE TRIGGER XX_MYTRIG
BEFORE INSERT OR UPDATE
ON CUSTOMER
DECLARE
ln_count Number;
BEGIN
Select count(CustNum) into ln_count
from customer
where CustNum:=:New.CustNum
and DebitNum:=NEW.DebitNum;
IF ln_count>0 then
RAISE fnd_api.g_exc_error;
END IF;
END;
當我插入或更新我注意到,SELECT語句甚至沒有執行。 如何在同一張桌子上查詢...?
您的數據模型令人費解。我們希望CUSTNUM成爲名爲CUSTOMER的表的主鍵。那麼,如何給任何客戶提供多於一個的DEBITNUM,複製或其他? – APC
您的意思是說一個客戶不能分配兩次相同的DebitNum;或者兩個客戶不能分配相同的DebitNum?你怎麼知道選擇沒有被執行 - 除了你在發佈的代碼中的第二個NEW之前缺少冒號,所以觸發器可能是無效的? –