CHANGE_TRACKING_IS_COLUMN_IN_MASK ( column_id , change_columns )
column_id :这个参数是被跟踪的列(column),这个id可以从COLUMNPROPERTY 函数里头弄到。
change_columns: 这个参数就是从CHANGETABLE 函数里头返回的SYS_CHANGE_COLUMNS。
返回值:
Return value | Description |
---|---|
0 | The specified column is not in the change_columns list. |
1 | The specified column is in the change_columns list. |
SYS_CHANGE_COLUMNS 只有当操作为 “Update” 的时候才会有返回值,Insert 和 Delete 都会返回NULL。
例子,省略了很多创建数据库/表等步骤:
select
[col3_update?] = CHANGE_TRACKING_IS_COLUMN_IN_MASK(COLUMNPROPERTY(OBJECT_ID(N'dbo.tb'),'col3','ColumnId'), SYS_CHANGE_COLUMNS)
from changetable(changes dbo.tb,0) as CC
数据库为 dbo.tb;查第三列;返回"ColumnId"的值 (感觉主要的作用是确认该列)。