这个是本人测试过正确的写法。(搜索过、AI过,都踩坑了)
--以下定义语句验证正确,2025年3月10日;
CREATE OR REPLACE TRIGGER PMING.PMTB1_TRG
BEFORE INSERT ON "PMING"."tbl01"
--用户名.表名,必须加双引号,表名似乎要区分大小写(我大写时系统不认账)
FOR EACH ROW
BEGIN
--仅在 nid 为空时生成序列值;
--注意:字段名nid必须用双引号,否则报错。(重点在这里,搜索到的、AI给的答案,都没引号,踩了两天坑)
IF :NEW."nid" IS NULL THEN
SELECT PMTB1SEQ.NEXTVAL INTO :NEW."nid" FROM DUAL;
--PMTB1SEQ是已创建的序列名
END IF;
END;
913

被折叠的 条评论
为什么被折叠?



