我正在尝试获取触发器来更新报告编号和后缀并与 Coldfusion ORM 兼容。为了使这适用于具有单个键的表,我使用了下面示例的第一部分。在此表中,如果给出报告编号,我需要将后缀更新为下一个值。
CREATE TABLE tb1 ( reportnum NUMBER, suffix NUMBER );
CREATE SEQUENCE seq1 START WITH 1;
CREATE OR REPLACE TRIGGER "TRG1_TB1" BEFORE INSERT ON
tb1 FOR EACH ROW
BEGIN
IF :NEW.reportnum IS NULL THEN
SELECT seq1.NEXTVAL INTO :NEW.reportnum FROM dual;
ELSIF :NEW.REPORTNUM = '' THEN
SELECT seq1.NEXTVAL INTO :NEW.reportnum FROM dual;
ELSIF :NEW.suffix = '' THEN
SELECT MAX(suffix)+1 INTO :NEW.suffix FROM tb1 WHERE reportnum = :NEW.reportnum
ELSIF :NEW.suffix = NULL THEN
SELECT MAX(suffix)+1 INTO :NEW.suffix FROM tb1 WHERE reportnum = :NEW.reportnum
END IF;
END;
我得到的错误是他们的命令没有正确结束。