2016-12-13 1 views
-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; 
+0

Вы уверены, что вам нужен спусковой крючок? Что должен делать триггер? Пожалуйста, отправьте пример того, какие данные должен сгенерировать триггер, чтобы создать – Aleksej

+0

Если вы создадите уникальный индекс в столбце, в котором хранятся данные 'shirtNumber', не выполнит бы то же самое и устранит необходимость как для' SHIRT_NUMBER' и функцию VERIFYSHIRT? – MJH

ответ