Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Error Handling / 6 сообщений из 6, страница 1 из 1
15.04.2002, 15:12
    #32027891
Andrew
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Error Handling
Собственно по сабжу такой вопрос: как обрабатывать ошибки с если я не ошибаюсь 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
16.04.2002, 18:26
    #32027997
jimmers
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Error Handling
Приветствую всех,

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

\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
17.04.2002, 05:46
    #32028023
Andrew
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Error Handling
Да я не внимательно прочитал BOL в котором четко написано что значение @@ERROR изменяется после каждого выполненого Т-SQL выражения. Это наверное типичная ошибка проверять значение @@ERROR после того как оно уже вышло на 0. За ответ спасибо.
...
Рейтинг: 0 / 0
17.04.2002, 05:47
    #32028024
Andrew
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Error Handling
Да я не внимательно прочитал BOL в котором четко написано что значение @@ERROR изменяется после каждого выполненого Т-SQL выражения. Это наверное типичная ошибка проверять значение @@ERROR после того как оно уже вышло на 0. За ответ спасибо.
...
Рейтинг: 0 / 0
17.04.2002, 09:45
    #32028063
Варяг
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Error Handling
2jimmers
Выполнил Ваш скрипт и получил то же, что и Andrew !

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

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

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

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


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