MIN_ACTIVE_ROWVERSION (Transact-SQL)
新規 : 2007 年 9 月 15 日
現在のデータベースにあるアクティブな rowversion 値のうち最小の値を返します。rowversion 値は、まだコミットされていないトランザクションで使用されている場合にアクティブになります。詳細については、「timestamp (Transact-SQL)」を参照してください。
メモ : |
---|
rowversion データ型は、timestamp とも呼ばれます。 |
構文
MIN_ACTIVE_ROWVERSION
戻り値の型
binary(8) 値を返します。
解説
MIN_ACTIVE_ROWVERSION は、現在のデータベースにあるアクティブな rowversion 値のうち最小の値を返す非決定的関数です。通常、rowversion 型の列を含むテーブルで挿入または更新が実行されると、新しい rowversion 値が生成されます。データベースにアクティブな値がない場合、MIN_ACTIVE_ROWVERSION は、@@DBTS に 1 を加えた値を返します。
MIN_ACTIVE_ROWVERSION は、rowversion 値を使用して一連の変更をグループ化することでデータの同期を行う場合などに役立ちます。アプリケーションで MIN_ACTIVE_ROWVERSION ではなく @@DBTS を使用した場合、同期の実行時にアクティブな変更が見逃される可能性があります。
例
次の例では、MIN_ACTIVE_ROWVERSION
と @@DBTS
を使用して rowversion 値を返します。データベースにアクティブなトランザクションがない場合は値が異なります。
-- Create a table that has a ROWVERSION column in it.
CREATE TABLE RowVersionTestTable (rv ROWVERSION)
GO
-- Print the current values for the database.
PRINT ''
PRINT 'DBTS'
PRINT @@DBTS
PRINT 'MIN_ACTIVE_ROWVERSION'
PRINT MIN_ACTIVE_ROWVERSION()
GO
---------------- Results ----------------
--DBTS
--0x00000000000007E2
--MIN_ACTIVE_ROWVERSION
--0x00000000000007E3
-- Insert a row.
INSERT INTO RowVersionTestTable VALUES (DEFAULT)
SELECT * FROM RowVersionTestTable
GO
---------------- Results ----------------
--rv
--0x00000000000007E3
-- Print the current values for the database.
PRINT ''
PRINT 'DBTS'
PRINT @@DBTS
PRINT 'MIN_ACTIVE_ROWVERSION'
PRINT MIN_ACTIVE_ROWVERSION()
GO
---------------- Results ----------------
--DBTS
--0x00000000000007E3
--MIN_ACTIVE_ROWVERSION
--0x00000000000007E4
-- Insert a new row inside a transaction but do not commit.
BEGIN TRAN
INSERT INTO RowVersionTestTable VALUES (DEFAULT)
SELECT * FROM RowVersionTestTable
GO
---------------- Results ----------------
--rv
--0x00000000000007E3
--0x00000000000007E4
-- Print the current values for the database.
PRINT ''
PRINT 'DBTS'
PRINT @@DBTS
PRINT 'MIN_ACTIVE_ROWVERSION'
PRINT MIN_ACTIVE_ROWVERSION()
GO
---------------- Results ----------------
--DBTS
--0x00000000000007E4
--MIN_ACTIVE_ROWVERSION
--0x00000000000007E4
-- Commit the transaction.
COMMIT
GO
-- Print the current values for the database.
PRINT ''
PRINT 'DBTS'
PRINT @@DBTS
PRINT 'MIN_ACTIVE_ROWVERSION'
PRINT MIN_ACTIVE_ROWVERSION()
GO
---------------- Results ----------------
--DBTS
--0x00000000000007E4
--MIN_ACTIVE_ROWVERSION
--0x00000000000007E5
参照
関連項目
@@DBTS (Transact-SQL)
timestamp (Transact-SQL)