SQL Server 2008 を使用しており、データベースで変更追跡が有効になっています。データベース内のテーブルの 1 つで、次のトリガーを作成しました。
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() を取得する方法はありますか?