powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Как в процедуре сделать правильно begin trans и если всё ок commit а если ошибка
3 сообщений из 3, страница 1 из 1
Как в процедуре сделать правильно begin trans и если всё ок commit а если ошибка
    #32025427
acteck
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Как вообще обрабатывать ошибки в хранимой процедуре...
...
Рейтинг: 0 / 0
Как в процедуре сделать правильно begin trans и если всё ок commit а если ошибка
    #32025430
GreenSunrise
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Народ, ну я все понимаю - новички в сиквеле и т.д. Только неужели настолько тяжело почитать документацию самому? Задавайте конкретные вопросы! А не такие - "как мне написать аппликуху, которая будет с базой работать?".
...
Рейтинг: 0 / 0
Как в процедуре сделать правильно begin trans и если всё ок commit а если ошибка
    #32025464
Glory
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
@@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
3 сообщений из 3, страница 1 из 1
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Как в процедуре сделать правильно begin trans и если всё ок commit а если ошибка
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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