powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Ошибка в Коде триггера? срабатывает только ELSE
2 сообщений из 2, страница 1 из 1
Ошибка в Коде триггера? срабатывает только ELSE
    #32060395
tolkay
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
CREATE TRIGGER [dbo].[Resources_Del] ON [dbo].[RESOURCES]
FOR DELETE
AS
DECLARE @FL as int

Select @FL=PROCS.FLAG_P
FROM (PROCS INNER JOIN
RES_PROC ON PROCS.ID = RES_PROC.ID_PROC) INNER JOIN
Deleted ON RES_PROC.ID_RES = Deleted.ID
begin
if @FL=0
begin
Print @FL
Print 'Удаление False Отменено'
RollBack Transaction
end
else
begin
Print @FL
Print 'Удаление True Отменено'
RollBack Transaction
end
end
...
Рейтинг: 0 / 0
Ошибка в Коде триггера? срабатывает только ELSE
    #32060402
Александр Спелицин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если запрос
Код: plaintext
1.
  Select *
  FROM (PROCS INNER JOIN RES_PROC ON PROCS.ID = RES_PROC.ID_PROC) INNER JOIN Deleted ON RES_PROC.ID_RES = Deleted.ID 

не выдаст ни одной записи, то значение @FL не изменится!!!
Т.е @FL будет равно Null.
Попробуйте так:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
  
  Select @FL =  0 

  Select @FL = PROCS.FLAG_P 
  FROM (PROCS INNER JOIN RES_PROC ON PROCS.ID = RES_PROC.ID_PROC) INNER JOIN Deleted ON RES_PROC.ID_RES = Deleted.ID 
  if @FL Is Null or @FL =  0 
...
...
Рейтинг: 0 / 0
2 сообщений из 2, страница 1 из 1
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Ошибка в Коде триггера? срабатывает только ELSE
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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