Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Как в процедуре сделать правильно begin trans и если всё ок commit а если ошибка / 3 сообщений из 3, страница 1 из 1
15.03.2002, 14:47
    #32025427
acteck
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как в процедуре сделать правильно begin trans и если всё ок commit а если ошибка
Как вообще обрабатывать ошибки в хранимой процедуре...
...
Рейтинг: 0 / 0
15.03.2002, 15:06
    #32025430
GreenSunrise
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как в процедуре сделать правильно begin trans и если всё ок commit а если ошибка
Народ, ну я все понимаю - новички в сиквеле и т.д. Только неужели настолько тяжело почитать документацию самому? Задавайте конкретные вопросы! А не такие - "как мне написать аппликуху, которая будет с базой работать?".
...
Рейтинг: 0 / 0
16.03.2002, 12:23
    #32025464
Glory
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как в процедуре сделать правильно begin trans и если всё ок commit а если ошибка
@@ERROR
Returns the error number for the last Transact-SQL statement executed.


USE pubs
GO
DECLARE @del_error int, @ins_error int
-- Start a transaction.
BEGIN TRAN

-- Execute the DELETE statement.
DELETE authors
WHERE au_id = '409-56-7088'

-- Set a variable to the error value for
-- the DELETE statement.
SELECT @del_error = @@ERROR

-- Execute the INSERT statement.
INSERT authors
VALUES('409-56-7008', 'Bennet', 'Abraham', '415 658-9932',
'6223 Bateman St.', 'Berkeley', 'CA', '94705', 1)
-- Set a variable to the error value for
-- the INSERT statement.
SELECT @ins_error = @@ERROR

-- Test the error values.
IF @del_error = 0 AND @ins_error = 0
BEGIN
-- Success. Commit the transaction.
PRINT "The author information has been replaced"
COMMIT TRAN
END
ELSE
BEGIN
-- An error occurred. Indicate which operation(s) failed
-- and roll back the transaction.
IF @del_error <> 0
PRINT "An error occurred during execution of the DELETE
statement."

IF @ins_error <> 0
PRINT "An error occurred during execution of the INSERT
statement."

ROLLBACK TRAN
END
GO


PS
А GreenSunrise прав, документацию надо читать
...
Рейтинг: 0 / 0
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Как в процедуре сделать правильно begin trans и если всё ок commit а если ошибка / 3 сообщений из 3, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]