Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- CREATE TRIGGER Person.updateName
- ON Person.Person FOR UPDATE
- AS
- SET NOCOUNT ON
- DECLARE @i AS int, @num_cols AS int
- DECLARE @UpdCols TABLE(ordinal_position int NOT NULL PRIMARY KEY)
- SET @num_cols =
- (SELECT COUNT(*)
- FROM INFORMATION_SCHEMA.COLUMNS
- WHERE TABLE_SCHEMA = ‘Person’;
- AND TABLE_NAME = ‘Person’)
- SET @i = 1
- WHILE @i <= @num_cols
- BEGIN
- IF (SUBSTRING(COLUMNS_UPDATED(),(@i - 1) / 8 + 1, 1))
- & POWER(2, (@i - 1) % 8) = POWER(2, (@i - 1) % 8)
- INSERT INTO @UpdCols VALUES(@i)
- SET @i = @i + 1
- END
- SELECT COLUMN_NAME AS Updated_Column, GETDATE() AS DateModified
- FROM INFORMATION_SCHEMA.COLUMNS AS C JOIN @UpdCols AS U
- ON C.ORDINAL_POSITION = U.ordinal_position
- WHERE TABLE_SCHEMA = 'Person'
- AND TABLE_NAME = 'Person'
- ORDER BY C.ORDINAL_POSITION
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement