powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Error Handling
6 сообщений из 6, страница 1 из 1
Error Handling
    #32027891
Andrew
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Собственно по сабжу такой вопрос: как обрабатывать ошибки с если я не ошибаюсь severity level 16. Типа:

Server: Msg 8152, Level 16, State 9, Line 1
String or binary data would be truncated.
The statement has been terminated.

Я пишу так:
IF @@ERROR <> 0 return
Ошибку пропускает. Заранее благодарен.
...
Рейтинг: 0 / 0
Error Handling
    #32027997
Фотография jimmers
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Приветствую всех,

Рассмотрим пример кода:

\ncreate table eh_table (data char(10))
go

create procedure eh_proc
@param varchar(20)
as

insert eh_table values (@param)

if @@error <> 0 return

print 'Success'
go


Попробуем вызвать процедуру с параметром длиной в 10 символов:

\nexecute eh_proc '0123456789'
go


А теперь с параметром длиной в 11 символов:
\nexecute eh_proc '01234567891'
go


Как видите, все работает корректно. Возможно, Вы ошиблись?

Версия программного обеспечения:

Microsoft SQL Server 2000 - 8.00.534 (Intel X86)
Nov 19 2001 13:23:50
Copyright (c) 1988-2000 Microsoft Corporation
Enterprise Edition on Windows NT 5.0 (Build 2195: Service Pack 2)
...
Рейтинг: 0 / 0
Error Handling
    #32028023
Andrew
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да я не внимательно прочитал BOL в котором четко написано что значение @@ERROR изменяется после каждого выполненого Т-SQL выражения. Это наверное типичная ошибка проверять значение @@ERROR после того как оно уже вышло на 0. За ответ спасибо.
...
Рейтинг: 0 / 0
Error Handling
    #32028024
Andrew
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да я не внимательно прочитал BOL в котором четко написано что значение @@ERROR изменяется после каждого выполненого Т-SQL выражения. Это наверное типичная ошибка проверять значение @@ERROR после того как оно уже вышло на 0. За ответ спасибо.
...
Рейтинг: 0 / 0
Error Handling
    #32028063
Варяг
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
2jimmers
Выполнил Ваш скрипт и получил то же, что и Andrew !

String or binary data would be truncated.
The statement has been terminated.

У меня SQL2000
...
Рейтинг: 0 / 0
Error Handling
    #32028077
Фотография jimmers
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Добрый день,

Уважаемый Варяг, после вызова:

\nexecute eh_proc '01234567891'
go


Вы получили:


Server: Msg 8152, Level 16, State 9, Procedure eh_proc, Line 5
String or binary data would be truncated.
The statement has been terminated.


Заметьте, что сообщение "Success", которое должна выдать процедура
eh_proc в случае успеха, отсутствует. Так в чем же проблема (обработка
ошибок функционирует нормально)?

Удачи
...
Рейтинг: 0 / 0
6 сообщений из 6, страница 1 из 1
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Error Handling
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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