Работа с базами данных на языке C#. Технология АDO .NET. Евсеева О.Н - 117 стр.

UptoLike

Составители: 

117
BEGIN TRAN
DECLARE @OshibkiTabliciTourists int, @OshibkiTabliciInfoTourists int
INSERT INTO Туристы ([Код туриста], Фамилия, Имя, Отчество)
VALUES (8, 'Тихомиров', 'Андрей', 'Борисович');
SELECT @OshibkiTabliciTourists=@@ERROR
INSERT INTO [Информация о туристах]([Код туриста], [Серия паспорта],
Город, Страна, Телефон, Индекс)
VALUES (8, 'CA 1234567', 'Новосибирск', 'Россия', 1234567, 996548);
SELECT @OshibkiTabliciInfoTourists=@@ERROR
IF @OshibkiTabliciTourists=0 AND @OshibkiTabliciInfoTourists=0
COMMIT TRAN
ELSE
ROLLBACK TRAN
Начало транзакции объявляется с помощью команды BEGIN TRAN. Далее
создаются два параметра – @OshibkiTabliciTourists, @OshibkiTabliciInfoTourists для
сбора ошибок. После первого запроса возвращаем значение, которое встроен-
ная функция @@ERROR присваивает первому параметру:
SELECT @OshibkiTabliciTourists=@@ERROR
То же самое делаем после второго запроса для другого параметра:
SELECT @OshibkiTabliciInfoTourists=@@ERROR
Проверяем значения обоих параметров, которые должны быть равными
нулю при отсутствии ошибок:
IF @OshibkiTabliciTourists=0 AND @OshibkiTabliciInfoTourists=0
В этом случае подтверждаем транзакцию (в данном случае внесение из-
менений) при помощи команды COMMIT TRAN. В противном случаеесли зна-
чение хотя бы одного из параметров @OshibkiTabliciTourists и
@OshibkiTabliciInfoTourists оказывается отличным от нуля, отменяем транзакцию
при помощи команды ROLLBACK TRAN.
После выполнения транзакции появляется сообщение о добавлении двух
строк:
(строк обработано: 1)
(строк обработано: 1)
Снова изменим код туриста во втором запросе:
BEGIN TRAN
DECLARE @OshibkiTabliciTourists int, @OshibkiTabliciInfoTourists int
INSERT INTO Туристы ([Код туриста], Фамилия, Имя, Отчество)
VALUES (8, 'Тихомиров', 'Андрей', 'Борисович');
SELECT @OshibkiTabliciTourists=@@ERROR
INSERT INTO [Информация о туристах]([Код туриста], [Серия паспорта],
Город, Страна, Телефон, Индекс)