В чем смысл этого оператора SQL? - PullRequest
3 голосов
/ 18 февраля 2011

Я новичок в преобразовании SQL.Что означает следующее утверждение?

BEGIN TRAN
-- xlock the transaction
IF EXISTS (SELECT 1 FROM dbo.ActiveTransaction WITH (XLOCK) WHERE TransactionId = @transactionId)
BEGIN
(Omitted)
END
COMMIT TRAN

Спасибо!

1 Ответ

7 голосов
/ 18 февраля 2011

Что здесь происходит:

  1. Начата транзакция Sql
  2. Вы проверяете, содержит ли таблица dbo.ActiveTransaction запись, где TransactionId равно значению в переменной @transactionid.
    1. Если да, вы вводите код "(пропущено)"
  3. Любые сделанные изменения вносятся в базу данных

«XLOCK» означает, что :

Указывает, что эксклюзивные блокировки должны быть сняты и удерживаться до завершения транзакции. Если указано с помощью ROWLOCK, PAGLOCK или TABLOCK, эксклюзивные блокировки применяются к соответствующему уровню детализации.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...