我正在使用 SQL Server 2008,并且在我的数据库上启用了更改跟踪。在数据库中的一张表上,我创建了以下触发器。
CREATE TRIGGER [dbo].[tr_student]
ON [dbo].[Student]
FOR UPDATE,DELETE
AS
BEGIN
SET NOCOUNT ON;
SELECT CHANGE_TRACKING_CURRENT_VERSION()
END
此触发器的目的是 - 当我更新或删除表 dbo.Student 中的记录时,我应该获得当前更改跟踪版本 ID。
但是当我更新/删除表中的记录时,CHANGE_TRACKING_CURRENT_VERSION() 不是给出当前的version_id,而是给出以前的version_id。触发触发器后,如果我执行 select CHANGE_TRACKING_CURRENT_VERSION() 我将获得正确的当前版本 ID。
那么 Change_Tracking_Current_Version() id 是否仅在触发后更改?有什么方法可以在触发器中获得正确的 Change_Tracking_Current_Version() 吗?