Anda dapat menggunakan @@DBTS
berfungsi untuk mendapatkan rowversion current saat ini dari database yang diberikan di SQL Server. Lebih khusus lagi, ini mengembalikan yang terakhir digunakan versi baris nilai database saat ini.
Contoh 1 – Penggunaan Dasar
Untuk menggunakan @@DBTS
fungsi, cukup pilih dalam SELECT
pernyataan.
Seperti ini:
SELECT @@DBTS;
Hasil:
+--------------------+ | (No column name) | |--------------------| | 0x0000000000000FA0 | +--------------------+
Contoh 2 – Basis Data Berbeda
Seperti disebutkan, rowversion nilai khusus untuk setiap database. Oleh karena itu, Anda perlu memastikan bahwa Anda berada di database yang tepat.
Berikut ini contoh untuk didemonstrasikan:
USE Music; SELECT @@DBTS AS "Music rowversion"; Use WideWorldImportersDW; SELECT @@DBTS AS "WideWorldImportersDW rowversion";
Hasil:
Changed database context to 'Music'. +--------------------+ | Music rowversion | |--------------------| | 0x00000000000007D0 | +--------------------+ (1 row affected) Changed database context to 'WideWorldImportersDW'. +-----------------------------------+ | WideWorldImportersDW rowversion | |-----------------------------------| | 0x0000000000015F90 | +-----------------------------------+ (1 row affected)
Di Mana Nilai Ini Digunakan?
versi baris nilai digunakan oleh kolom yang memiliki versi baris atau stempel waktu tipe data. Kolom tersebut secara otomatis diperbarui dengan nomor unik, berdasarkan peningkatan nilai rowversion , setiap kali penyisipan atau pembaruan terjadi.
Menggunakan contoh di atas, jika saya menyisipkan atau memperbarui baris di Music
database, dan baris tersebut memiliki rowversion kolom, nilai kolom itu mungkin akan disetel ke 0x00000000000007D1
(yaitu 0x00000000000007D0
bertambah 1). Pada tahap ini, jika saya menggunakan @@DBTS
terhadap database itu, itu akan mengembalikan 0x00000000000007D1
(karena itulah jumlah baris yang terakhir digunakan nilai).
Jika saya kemudian memperbarui baris itu, versi baris kolom akan menjadi 0x00000000000007D2
. Ini benar, meskipun operasi pembaruan tidak benar-benar mengubah data apa pun. Kali ini, jika saya menjalankan @@DBTS
itu akan mengembalikan 0x00000000000007D2
.
Untuk contoh yang menunjukkan ini, lihat Apa itu “rowversion” di SQL Server.
Stempel waktu tipe data sebenarnya adalah sinonim untuk rowversion , jadi nilai yang dikembalikan oleh @@DBTS
mencerminkan rowversion current saat ini nilai apakah itu bertambah dengan rowversion kolom atau stempel waktu kolom.
Perhatikan juga bahwa stempel waktu adalah salah satu dari empat tipe data usang yang berada dalam mode pemeliharaan dan dapat dihapus di versi SQL Server yang akan datang. Karenanya Anda harus menggunakan rowversion bukannya stempel waktu dalam pekerjaan pengembangan baru. Anda juga harus merencanakan untuk memodifikasi aplikasi yang saat ini menggunakan stempel waktu .