CREATE TRIGGER Проверка_остатка ON Строки_накладных
AFTER INSERT
AS
IF EXISTS (
SELECT С.ИД_товара
FROM Строки_накладных С
JOIN Накладные Н ON Н.ИД_накладной = С.ИД_накладной
GROUP BY С.ИД_товара
HAVING SUM(CASE WHEN Н.Тип = 'Поступление' THEN С.Количество ELSE -С.Количество END) < 0
)
BEGIN
RAISERROR('Нельзя продать в минус', 16, 1);
ROLLBACK TRANSACTION;
END