2015-05-05 132 views
-3

我想更新一個基於他的專欄的記錄,例如我有一個表有DateEnd列,當我在DateEnd中得到一個值時,它應該自動修改另一列行。SQL Server中的自動更新記錄

在SQL或progrgamação中這樣做會更好嗎?

+2

查找SQL觸發器。 – Brandon

回答

0

在Microsoft SQL Management Studio中,如果轉到您的表的設計和「默認值」屬性上的屬性,並將其設置爲GetDate(),該值將設置列值爲任何列改變...

您可以通過TSQL太做到這一點:

CREATE TABLE dbo.doc_exz (column_a INT, column_b INT) ; 
GO 
INSERT INTO dbo.doc_exz (column_a)VALUES (7) ; 
GO 
ALTER TABLE dbo.doc_exz 
ADD CONSTRAINT col_b_def 
DEFAULT GetDate() FOR column_b ; 
GO 

有一點需要注意的是,這隻會在插入新行合作,爲更新你可以使用觸發器做你正在找。

+0

這是不正確的。如果沒有爲該列提供數據,則在列上設置默認值將僅在INSERT上填充。除非您提供該值,否則更新該行不會更改列值。 – jradich1234

+0

是的,沒錯,默認是插入。更新觸發器會做 – Aram

0

無論觸發或計算列會幫助你在這種情況下。