我的目标是创建一个触发器,用于检查您尝试输入 NR_RECIBO
的号码是否在Doc_cabecalho
表中,且属性为TIPO_DOC = 4
< / p>
CREATE OR REPLACE TRIGGER ValidaRecibo
BEFORE INSERT ON Recibo
FOR EACH ROW
DECLARE val NUMBER;
BEGIN
SELECT COUNT(*) INTO val
FROM Doc_cabecalho
WHERE (TIPO_DOC = 4 AND NR_DOCUMENTO = :NEW.NR_RECIBO);
IF val = 0
THEN (-20502, ' Only from department 4 ');
END IF;
END ValidaRecibo;
然而,这引发了以下错误:
PLS-00103:遇到以下其中一项时遇到符号“,”:
*&amp; = - +&lt; /&gt; at in mod mod not rem&lt;&gt;或!=或〜=&gt; =&lt; =&lt;&gt;和/或喜欢喜欢喜欢的喜欢...之间的||成员submultiset
答案 0 :(得分:1)
IF val = 0那么 raise_application_error(-20502,'仅来自部门6');
你应该在DOC_TIPO和TIPO_DOC之间做出决定;)