Вы находитесь на странице: 1из 3

Есть RAISEERROR с текстом сообщения вида:

'bla-bla...%s...%d...etc...', @string, @int...


Короче, текст получается длинный. Как его разбить на несколько строк (типа
bla-bla + Chr(13) + ...)?
Возможно ли такое в одном операторе RAISERROR, или придется вводить доп. текст. переменную, которую и о

26 сен 05, 11:57    [1909211]     Ответить | Цитировать Сообщить модератору

 Re: Форматированная строка в RAISERROR - как ее разбить на несколько строк?  [new]

Брюлик DECLARE @err_msg VARCHAR(50)


Member SELECT @err_msg='Hello,'+ CHAR(13)+'World'
SELECT @err_msg
Откуда:
Сообщений: 690 RAISERROR (@err_msg,16,1)
26 сен 05, 12:04    [1909265]     Ответить | Цитировать Сообщить модератору

 Re: Форматированная строка в RAISERROR - как ее разбить на несколько строк?  [new]

tpg
Member declare @s varchar(8000)

Откуда: Novosibirsk set @s = '1sadasdasdasdas


Сообщений: 23902 2sdfsdfsdf
3rtyrtyry drfgdfg dfgdfg dfgdfgdf
4fffffffffffffffffffffffffffffffffff'

raiserror(@s, 16, 1)

26 сен 05, 12:05    [1909276]     Ответить | Цитировать Сообщить модератору

 Re: Форматированная строка в RAISERROR - как ее разбить на несколько строк?  [new]

Crimean
Member declare @s varchar(255)
select @s = '1' + char(13) + '2' + char(13) + '3'
Откуда: raiserror( @s, 0, 1 )
Сообщений: 13147

26 сен 05, 12:05    [1909277]     Ответить | Цитировать Сообщить модератору

 Re: Форматированная строка в RAISERROR - как ее разбить на несколько строк?  [new]

IGosha 2Брюлик & Co:


Guest Т.е. ваш ответ следует читать как "нельзя"?
26 сен 05, 12:07    [1909294]     Ответить | Цитировать Сообщить модератору

 Re: Форматированная строка в RAISERROR - как ее разбить на несколько строк?  [new]

Glory
Member IGosha

Откуда:
Сообщений: 104751 2Брюлик & Co:
Т.е. ваш ответ следует читать как "нельзя"?

В RAISEERROR нельзя использовать ничего, кроме констант и переменных.


26 сен 05, 12:21    [1909369]     Ответить | Цитировать Сообщить модератору

 Re: Форматированная строка в RAISERROR - как ее разбить на несколько строк?  [new]

Брюлик А ты сам как думаешь, нажми на кнопочку "дверь и откроется"


Member

Откуда:
Сообщений: 690

26 сен 05, 12:23    [1909378]     Ответить | Цитировать Сообщить модератору

 Re: Форматированная строка в RAISERROR - как ее разбить на несколько строк?  [new]

IGosha
Guest Glory

В RAISEERROR нельзя использовать ничего, кроме констант и переменных.

Значит, все же, нельзя...


Хотя, почему бы не определить эту самую константу с использованием CHAR(13)?
26 сен 05, 12:27    [1909391]     Ответить | Цитировать Сообщить модератору

 Re: Форматированная строка в RAISERROR - как ее разбить на несколько строк?  [new]

Glory
Member IGosha

Откуда:
Сообщений: 104751 Glory

В RAISEERROR нельзя использовать ничего, кроме констант и переменных.

Значит, все же, нельзя...


Хотя, почему бы не определить эту самую константу с использованием CHAR(13)?

Константа - это то, что известно ДО выполнения.


А результат функции будет известен только во время выполнения.
Но вы можете созать пользовательский error message - уже отформатированный.
26 сен 05, 12:33    [1909432]     Ответить | Цитировать Сообщить модератору

 Re: Форматированная строка в RAISERROR - как ее разбить на несколько строк?  [new]

Aleksey-K Можно и так:


Member
Откуда: Москва
Сообщений: 3116 RAISERROR('Статус Flag=%d документа DK_ID=%d не допускает его п

,
где @FLAG и @DK_ID локальные числовые переменные хранимой процедуры.(дл
Таким образом можно составить любую сложную строку с сообщением об ошибке.
С уважением, Алексек