· 8 years ago · Apr 14, 2018, 04:16 AM
1/* Create MyTable.DateAdded w/ constraint if it doesn't already exist */
2IF COL_LENGTH('MyTable', 'DateAdded') IS NULL
3BEGIN
4 ALTER TABLE MyTable
5 ADD [DateAdded] [datetime] NULL;
6
7 ALTER TABLE MyTable
8 ADD CONSTRAINT [DF_MyTable_DateAdded] DEFAULT (getdate()) FOR [DateAdded];
9END
10GO
11
12/* Create MyTable.DateAdded w/ constraint if it doesn't already exist */
13IF COL_LENGTH('MyTable', 'DateUpdated') IS NULL
14BEGIN
15 ALTER TABLE MyTable
16 ADD [DateUpdated] [datetime] NULL;
17
18 ALTER TABLE MyTable
19 ADD CONSTRAINT [DF_MyTable_DateUpdated] DEFAULT (getdate()) FOR [DateUpdated];
20END
21GO
22
23/* Drop trigger if it already exists */
24DROP TRIGGER IF EXISTS UpdateDateUpdated_MyTable
25GO
26
27/* Create trigger */
28CREATE TRIGGER UpdateDateUpdated_MyTable
29ON MyTable
30AFTER UPDATE
31AS
32BEGIN
33 IF NOT UPDATE(DateUpdated)
34 BEGIN
35 UPDATE t
36 SET t.DateUpdated = CURRENT_TIMESTAMP
37 FROM MyTable AS t INNER JOIN inserted AS i
38 ON t.OrderID = i.OrderID;
39 END
40END
41GO