2017-10-09 71 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

作爲進一步的重構,我們可以刪除所有的雙引號和冗餘的「從雙選擇」。 –