2017-10-09 43 views
-1

说明列,我想自动填充通过触发描述列,但我卡在插入部分,这里是我的代码:自动填充通过触发

CREATE OR REPLACE TRIGGER "INSERT_MESSAGE" AFTER INSERT, UPDATE ON "A" 
FOR EACH ROW 
BEGIN 
    SELECT "SEQ_A".NEXTVAL INTO :NEW.MESSAGE FROM DUAL 
END; 
/

有一个表“一个“,其中有一列”MESSAGE“,并且该消息将以特定格式生成到该列中:”你好吗?“触发器激活时,如何将该文本生成到该列中?谢谢。

+1

触发器是**高度供应商特定的** - 所以请添加一个标签以指定您是使用mysql,postgresql,sql-server,oracle还是db2 ' - 或者其他的东西。 –

+1

感谢提醒:) @marc_s –

+2

?那么它是MySQL还是Oracle?请认真对待@marc_s问题。 – mathguy

回答

0

从逻辑上讲,在事情发生后你不能改变某些东西,并且你的代码有一些语法问题。尝试

CREATE OR REPLACE TRIGGER "INSERT_MESSAGE" before INSERT or UPDATE ON "A" 
FOR EACH ROW 
BEGIN 
SELECT “SEQ_A”.NEXTVAL INTO :NEW.MESSAGE FROM DUAL ; 
END; 
+0

作为进一步的重构,我们可以删除所有的双引号和冗余的“从双选择”。 –