Многооператорные инструкции и атомарность
Стандарт SQL-92 предусматривает возможность выполнения отдельных операторов в программе, написанной на HOST-языке.
Например, программа, вставляющая нового покупателя в таблицу и далее оформляющая на него заказ, на языке C может выглядеть как:
void main () {
exec sql insert into Customer
values (2009, ‘Hammer’, ‘New York’, 150);
/* Проверить SQLSTATE на ошибки */
exec sql insert into Orders
values (3012, 109.86, 15/12/1999, 2009, 1007);
/* Проверить SQLSTATE на ошибки */ }
Использование составных операторов
Для сокращения числа посылаемых сообщений на сервер правила позволяют сгруппировать операторы вместе, используя составной оператор BEGIN [ ATOMIC ] ..END.
void main () {
exec sql
begin atomic
insert into Customer
values (2009, ‘Hammer’, ‘New York’, 150);
insert into Orders
values (3012, 109.86, 15/12/1999, 2009, 1007);
end;
/* Проверить SQLSTATE на ошибки */ }