Пакеты команд

Previous  Top  Next

    
 

 

Операторы могут отправляться на сервер не поодиночке, а пакетами. Пакетом (batch) называется группа команд, отправленная клиентским приложением на сервер одновременно. Весь пакет компилируется в единый план исполнения. Такая техника позволяет уменьшить сетевой трафик и увеличить эффективность приложения. Типичный пакет может выглядеть следующим образом:

 

Code:

BEGIN TRANSACTION

INSERT One (SomeField) VALUES (:1)

INSERT Two (AnotherField) VALUES (:2)

IF @@ERROR = 0

COMMIT

ELSE

ROLLBACK

 

 

 

Внутри пакета возможно объявление переменных. Область их видимости ограничена пакетом, в котором они объявлены.

В случае синтаксической ошибки в любом из операторов пакета весь пакет не выполняется. Однако в случае ошибки выполнения любого оператора остальные операторы продолжают исполняться до окончания пакета.

 

Разделителем пакетов команд служит оператор GO.