【发布时间】:2023-03-15 07:00:02
【问题描述】:
我的目标是创建一个触发器来检查您尝试输入的号码 NR_RECIBO 是否在 Doc_cabecalho 表中,属性为 TIPO_DOC = 4
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:在预期以下情况之一时遇到符号“,”:
* & = - + at in is mod 余数 not rem or != or ~= >= and or like like2 like4 likec as between ||成员子集
【问题讨论】:
标签: oracle if-statement plsql triggers