我有一个名为 user 的表,其中包含 FirstName、LastName、Age、Location、City、Education 等列
我想做的是
在用户更新他的信息后,我想跟踪用户更新了哪些列。不是更新的行,而是更新的特定行中的确切列。
我创建了一个更新触发器,但它没有给出确切的结果。
纳克斯,
世斌
最佳答案
DECLARE @idTable INT
SELECT @idTable = T.id FROM sysobjects P JOIN sysobjects T ON P.parent_obj = T.id WHERE P.id = @@procid
DECLARE @Columns_Updated VARCHAR(50)
SELECT @Columns_Updated = ISNULL(@Columns_Updated + ', ', '') + name
FROM syscolumns
WHERE id = @idTable
AND CONVERT(VARBINARY,REVERSE(COLUMNS_UPDATED())) & POWER(CONVERT(BIGINT, 2), colorder - 1) > 0
关于sql-server - 如何在sql server中获取更新的列名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8049810/