-1
我做了一個觸發器,當插入襯衫號碼驗證它是否已經存在於數據庫中時,我還做了一個叫做'VERIFYSHIRT'的觸發器調用的函數。編譯時,我收到了一個Oracle SQL PLS-00049:錯誤的綁定變量ERROR。我幾乎可以肯定,代碼是正確的,但不知道我在做什麼錯。如果你們想要,我也可以把這個功能放在這裏,在此先感謝,或者任何需要的桌子!Oracle SQL PLS-00049:壞綁定變量錯誤
CREATE OR REPLACE TRIGGER SHIRT_NUMBER
BEFORE INSERT OR UPDATE ON Player
FOR EACH ROW
DECLARE
shirtNumber NUMBER;
BEGIN
shirtNumber := VERIFYSHIRT(:NEW.CLUB_CLUBID,:NEW.PLAYER_SHIRTNUMBER);
if shirtNumber > 0 THEN
RAISE_APPLICATION_ERROR(-20000, 'Shirt number already exists!');
NULL;
END IF;
END;
您確定需要觸發器嗎?觸發器應該做什麼?請發佈一個觸發器應避免創建什麼樣的數據的示例 – Aleksej
如果您在存儲「shirtNumber」數據的列上創建唯一索引,那麼這樣做不會達到同樣的效果,並且不需要「 SHIRT_NUMBER'觸發器和'VERIFYSHIRT'函數? – MJH