关于Change_Tracking

来源:互联网 发布:java版微信格式 编辑:程序博客网 时间:2024/05/21 12:39

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"的值 (感觉主要的作用是确认该列)。


原创粉丝点击