Sqlserver
 sql >> Teknologi Basis Data >  >> RDS >> Sqlserver

Kebuntuan pada SELECT/UPDATE

Tidak cukup untuk memiliki transaksi serial, Anda perlu memberi petunjuk tentang penguncian agar ini berfungsi.

Level isolasi yang dapat diseri biasanya masih akan memperoleh jenis kunci "terlemah" yang dapat memastikan kondisi yang dapat diserikan terpenuhi (pembacaan yang dapat diulang, tidak ada baris hantu, dll)

Jadi, Anda mengambil kunci bersama di meja Anda yang kemudian Anda (dalam transaksi serial Anda) mencoba meningkatkan ke kunci pembaruan. Pemutakhiran akan gagal jika utas lain memegang kunci bersama (ini akan berfungsi jika tidak ada orang lain yang memegang kunci bersama).

Anda mungkin ingin mengubahnya sebagai berikut:

SELECT * FROM SessionTest with (updlock) WHERE SessionId = @SessionId

Itu akan memastikan kunci pembaruan diperoleh saat SELECT dilakukan (jadi Anda tidak perlu memutakhirkan kunci).




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Akses antrian ke database untuk menghindari beberapa item cache

  2. Apa yang setara dengan C# dari tipe data server sql geografi di .net framework 4.0?

  3. Cara menghitung usia (dalam tahun) berdasarkan Tanggal Lahir dan getDate()

  4. Cara Menginstal SQL Server di SUSE 12

  5. SQL Server 2016:Buat Prosedur Tersimpan