powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / IBM DB2, WebSphere, IMS, U2 [игнор отключен] [закрыт для гостей] / SIGNAL vs RAISE_ERROR
5 сообщений из 5, страница 1 из 1
SIGNAL vs RAISE_ERROR
    #35016305
Kru
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Всем доброе время суток,
подскажите пожалуйста в чём отличие SIGNAL и RAISE_ERROR. У меня сложилось впечатление что они дублируют друг друга.

Заранее большое спасибо
...
Рейтинг: 0 / 0
SIGNAL vs RAISE_ERROR
    #35016840
Mark Barinstein
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здравствуйте.

SIGNAL - sql команда и ее нельзя использовать в динамическом sql.
Ее удобнее использовать, когда надо просто выкинуть исключение.

RAISE_ERROR - скалярная функция, которую можно в некоторых других sql командах использовать, в т.ч. в динамическом sql.
...
Рейтинг: 0 / 0
SIGNAL vs RAISE_ERROR
    #35018639
Kru
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Марк,
большое спасибо!
...
Рейтинг: 0 / 0
SIGNAL vs RAISE_ERROR
    #35018756
Фотография Alexey Popov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Добавлю немного: SELECT с вызовом RAISE_ERROR проходит успешно только в конструкии CASE...
Как-то налетел: хотел чтобы вылет exception происходил, если запрос вернёт некоторый набор данных. Пришлось потом заголовок SELECT оформлять в предложение CASE.
...
Рейтинг: 0 / 0
SIGNAL vs RAISE_ERROR
    #35019443
Mark Barinstein
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Alexey PopovДобавлю немного: SELECT с вызовом RAISE_ERROR проходит успешно только в конструкии CASE...Нет.
Сравните:

begin atomic
declare a,b int;
set a= 0 ;
set b = (select cast(raise_error('75000', 'Help!') as int) from sysibm.sysdummy1 where 1=a);
end@

и

begin atomic
declare a,b int;
set a= 1 ;
set b = (select cast(raise_error('75000', 'Help!') as int) from sysibm.sysdummy1 where 1=a);
end@
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / IBM DB2, WebSphere, IMS, U2 [игнор отключен] [закрыт для гостей] / SIGNAL vs RAISE_ERROR
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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