我正在做一个触发器,当插入衬衫号时,我还验证了它是否已经存在于数据库中时,我还执行了一个称为" verifyShirt"的函数,该函数触发了调用。编译时,我收到了Oracle SQL PLS-00049:BAD BIND变量错误。我几乎确定代码是正确的,但不知道我在做什么错。如果你们愿意,我也可以将功能放到此处,请提前或任何需要的桌子!
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;
不应创建trigger that when inserting a shirt number verifies if it already exists in the database
。
这是主要键的目的,使用它!
https://www.techonthenet.com/oracle/primary_keys.php