2015-10-10 51 views
0

我該如何去編寫一個觸發器,當插入到特定的表時,它會根據條件檢查屬性,然後將文本附加到另一個屬性。我將如何去執行IF THEN邏輯到這個?使用IF語句的SQL Server觸發器

CREATE TABLE SomeTable (
     table_id NUMBER(5) NOT NULL 
     paragraph varchar(50) 
    ); 



CREATE TRIGGER Append_Text ON SomeTable 
    AFTER INSERT 
    AS 
    BEGIN 

    /*pseudocode: if table_id = 5 then append text "mark watney" to paragraph*/ 

    END 
    GO 
+0

兩件事情。一,[sql]標籤標識數據庫查詢問題。如果您想引用Microsoft RDBMS產品,請使用[sql-server]標籤。二,通過編輯你的問題來刪除[oracle]標記,你已經使我的回答毫無意義,並且你接受它會讓本網站的其他用戶感到困惑。如果你不想要Oracle的答案,請這麼說。如果你想要一個SQL Server的答案,那就這麼說吧。 – APC

+0

方便的提示,謝謝。 – Josh123

回答

0

您將需要創建一個instead of insert trigger

CREATE TRIGGER Append_Text ON SomeTable 
INSTEAD OF INSERT 
AS 
BEGIN 
    INSERT INTO SomeTable 
    SELECT table_id, paragraph + case when table_id = 5 then ' mark watney' else '' end 
    FROM INSERTED 
END 
GO