powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Не работает условная конструкция в триггере
5 сообщений из 5, страница 1 из 1
Не работает условная конструкция в триггере
    #39851525
jeanssp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Подскажите пожалуйста в чем ошибка?
Почему то не выполняются инструкции "ELSE IF(@q) < 0"
Причем если первый блок IF закомментировать, то все работает.


Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
ALTER TRIGGER [dbo].[trMatcingStocksOnInsert]
ON [dbo].[order_details]
FOR INSERT 
AS
IF @@ROWCOUNT = 0
RETURN
SET NOCOUNT ON

DECLARE @g_id int ;
DECLARE @q int ;
SET @g_id = (SELECT 1 good_id FROM inserted)
SET @q = (SELECT 1 qty FROM inserted)
IF (@q)>0
BEGIN
UPDATE goods_stocks
SET stock = gs.stock - i.qty
FROM goods_stocks gs JOIN
(SELECT good_id, SUM(qty) qty FROM inserted GROUP BY good_id) i
ON gs.good_id = i.good_id
DELETE FROM goods_stocks
WHERE stock = 0;

END

ELSE IF(@q) < 0
BEGIN

INSERT  goods_stocks (good_id, stock, available) 
SELECT good_id,qty*-1,qty*-1
FROM inserted

END;
...
Рейтинг: 0 / 0
Не работает условная конструкция в триггере
    #39851530
Гавриленко Сергей Алексеевич
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
null < 0 == false
...
Рейтинг: 0 / 0
Не работает условная конструкция в триггере
    #39851556
jeanssp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Разобрался
...
Рейтинг: 0 / 0
Не работает условная конструкция в триггере
    #39851557
iap
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Гавриленко Сергей Алексеевичnull < 0 == falseЕсли быть совсем точным, то unknown, но главное для if, что это не true.
...
Рейтинг: 0 / 0
Не работает условная конструкция в триггере
    #39853031
Фотография Mind
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Данные с таблицы даже не читались. Там всегда 1 было.
Ну и конечно говнокод детектед. А что если в таблицу вставят больше чем одну строку за раз?
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Не работает условная конструкция в триггере
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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