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"的值 (感觉主要的作用是确认该列)。
本文介绍如何使用SQL查询语句`CHANGE_TRACKING_IS_COLUMN_IN_MASK`来检查指定列是否存在于变更记录中,以及如何通过`CHANGETABLE`函数获取变更信息。实例演示了如何在特定数据库表中查询指定列的变更状态。
3170

被折叠的 条评论
为什么被折叠?



