Запрос на добавление поставки должен выглядеть как-то так:
--начинаем транзакцию
BEGIN TRASACTION
BEGIN TRY
--добавляем записи в таблицы
INSERT INTO [Поставки] ...
INSERT INTO [Сведения о поставках] ...
--фиксируем транзакцию
COMMIT TRANSACTION;
END TRY
BEGIN CATCH
--откатываем транзакцию
ROLLBACK TRANSACTION;
END CATCH
Триггер такой:
CREATE TRIGGER [Название триггера]
ON [Сведения о поставках] INSTEAD OF INSERT
AS BEGIN
-- если существует необходимый товар
IF EXISTS (SELECT *
FROM [Товары] t
INNER JOIN inserted i ON t.[ID товара] = i.[ID товара]
)
--добавляем запись в таблицу
INSERT INTO [Сведения о поставках]
SELECT ...
FROM inserted;
--увеличиваем количество товаров на складе
UPDATE s
SET s.[Количество]=s.[Количество] + i.[Количество]
FROM [Складские запасы] s
INNER JOIN inserted i ON s.[ID товара] = i.[ID товара]
-- иначе генерируем ошибку
ELSE
RAISEERROR ...
END
Кроме этого, необходимо примерно такой-же триггер создать для таблицы [Поставки]. Там будет всё то же самое для поставщиков, только не нужно выполнять инструкцию UPDATE.