CREATE OR REPLACE TRIGGER "schema"."trigername" AFTER INSERT OF "FD_Name2" ON "schema"."trigername" REFERENCING OLD AS OLD NEW AS NEW FOR EACH ROW BEGIN IF (:OLD.FD_Name2 IS NULL) THEN UPDATE schema.trigername SET FD_Name2=NEW.FD_Name ; END IF ; EXCEPTION WHEN OTHERS THEN NULL; END;
CREATE OR REPLACE TRIGGER "schema"."trigername" AFTER INSERT OF "FD_Name2" ON "schema"."trigername" REFERENCING OLD AS OLD NEW AS NEW FOR EACH ROW BEGIN IF (:OLD.FD_Name2 IS NULL) THEN UPDATE schema.trigername SET FD_Name2=NEW.FD_Name WHERE FD_Name=NEW.FD_Name ; END IF ; EXCEPTION WHEN OTHERS THEN NULL; END;
既然你提到第三范式,我想借楼主质地和你讨论一下。我个人觉得做项目没必要非要遵循第三范式,有时候为了提高性能,就要舍弃第三范式,只要遵循第二范式就够了。
TO:搂主
我想写触发器是个比较好的选择吧,最起码我们想到什么更好的
REFERENCING OLD AS OLD NEW AS NEW FOR EACH ROW
BEGIN
IF (:OLD.FD_Name2 IS NULL) THEN
UPDATE schema.trigername
SET FD_Name2=NEW.FD_Name
;
END IF ;
EXCEPTION
WHEN OTHERS THEN NULL;
END;
REFERENCING OLD AS OLD NEW AS NEW FOR EACH ROW
BEGIN
IF (:OLD.FD_Name2 IS NULL) THEN
UPDATE schema.trigername
SET FD_Name2=NEW.FD_Name
WHERE FD_Name=NEW.FD_Name
;
END IF ;
EXCEPTION
WHEN OTHERS THEN NULL;
END;