SQL:创建触发器并在bash屏幕上出现编译错误

SQL:创建触发器并在bash屏幕上出现编译错误,sql,oracle,bash,syntax,triggers,Sql,Oracle,Bash,Syntax,Triggers,我一直在尝试设置我的触发器脚本(在PostgreSQL中),我总是会收到如下错误消息: Warning: Trigger created with compilation errors. 下面是有问题的脚本代码: CREATE OR REPLACE TRIGGER CityExists BEFORE INSERT OR UPDATE ON Player FOR EACH ROW BEGIN WHEN (NOT EXISTS( SELECT idTeam

我一直在尝试设置我的触发器脚本(在PostgreSQL中),我总是会收到如下错误消息:

Warning: Trigger created with compilation errors.
下面是有问题的脚本代码:

CREATE OR REPLACE TRIGGER CityExists
    BEFORE INSERT OR UPDATE ON Player
    FOR EACH ROW 
    BEGIN
        WHEN (NOT EXISTS( SELECT idTeam FROM Team WHERE Team.idTeam = NEW.idTeam)) THEN 
            signal sqlstate '45000' 
                set message_text = 'Attempt to insert a player with an non-existing city.';
        END
    END

事实上,我找不到我的错误,我在这里遗漏了什么吗?

您已经编写了PostgreSQL并将您的问题标记为Oracle。到底是什么?甲骨文发现了问题所在。新的。需要这样写:NEW和信号sqlstate不起作用,我用它来代替RAISE\u异常