rmaranhao
asked on
How to determine witch column was updated during a trigger if the COLUMNS_UPDATED() is larger then the integer value
I have a trigger that runs after update on a table.
Microsoft tells that the way to determine witch column was modified is to use
IF COLUMNS_UPDATED() & ColumnNumber > 0 . My problem is that due to the number of columns on this table the ColumnNumber is 8589934592. This number is bigger than the integer value and if I cast it as a BigInt the bitwise operator & does not work.
Does anybody now a way around this?
Thanks in advance,
Roberto.
Microsoft tells that the way to determine witch column was modified is to use
IF COLUMNS_UPDATED() & ColumnNumber > 0 . My problem is that due to the number of columns on this table the ColumnNumber is 8589934592. This number is bigger than the integer value and if I cast it as a BigInt the bitwise operator & does not work.
Does anybody now a way around this?
Thanks in advance,
Roberto.
ASKER CERTIFIED SOLUTION
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
ASKER
An easy way to determine the " power(2, (n-1)) " value is to print the SUBSTRING(COLUMNS_UPDATED(
The code would look loke this:
IF (SUBSTRING(COLUMNS_UPDATED
AND (SUBSTRING(COLUMNS_UPDATED
)
I think it's easier to read this way.