2017-10-18 83 views
0

我想爲與對應行中的另一列具有相同值的列配置「默認值」。所以我試過這樣做:SQL Server將表內的列複製爲默認值

UPDATE table 
SET field1 = field2 

但我不想這樣手動,它應該會自動發生每當一個新行插入。

起初我認爲這將是一件容易的事。但目前爲止我發現的最佳解決方案是存儲在SQL服務器代理啓動的作業中的sql腳本。

有沒有像缺省值一樣工作的解決方案?或者我的想法很愚蠢,因爲我試圖根據一個甚至不存在的插入值創建一個「默認值」。在那種情況下:我在問一個朋友......

謝謝你的幫忙。

+0

你看過觸發器嗎?你可以做AFTER INSERT – Leonidas199x

+0

不,我沒有嘗試使用觸發器。感謝您的建議。觸發器是我需要的。 – Jaymax

回答

0

你最好的選擇是在那裏使用觸發器。你可以這樣做:

CREATE TRIGGER [dbo].[YourTrigger] ON [dbo].[YourTable] FOR INSERT 
AS 
BEGIN 
    DECLARE @ID AS INT 
    SET @ID = SELECT yourID FROM INSERTED 

    UPDATE YourTable 
    SET field1 = field2 
    WHERE yourID = @ID 
END 
+0

謝謝你的回答。我會創建一個觸發器這個。它看起來像解決了我的問題。 – Jaymax