Консультация № 182753
06.04.2011, 00:52
0.00 руб.
07.04.2011, 20:49
0 1 0
Здравствуйте . Есть учебная база техобслуживание.
http://files.mail.ru/VXWST5
Помогите пожалуйста написать триггер для базы . смысл триггера
Есть данные в таблице приход_склад ,туда они поступают через
INSERT INTO приход_склад
VALUES ('04-01-2010', 9, 40,33,3,3)
GO

И если в заявках на покупку есть заявки в которой
заявки_на-покупку.складID=приход_склад.складID and заявки_на-покупку.количество<=приход_склад.количество
,то заявки удаляются с dbo. заявки_на-покупку. Рассчитывается и записываетя остаток в Приход_склад.количество.

Приложение:
есть пример другого триггера.....над бы сделать чтото похожее...
create TRIGGER Add_ЗаказТовар
ON ЗаказаноТоваров
INSTEAD OF INSERT
AS
PRINT ('Выполнение триггера')
DECLARE @НовыйЗаказ INT,
@НовыйТовар INT,
@Кол_во REAL,
@ЦенаПродажи REAL

SELECT @НовыйЗаказ = ЗаказID,
@НовыйТовар = СкладID,
@Кол_во = Количество,
@ЦенаПродажи = ЦенаПродажи
FROM INSERTED

IF EXISTS (SELECT 1
FROM ЗаказаноТоваров
WHERE ЗаказID=@НовыйЗаказ AND
СкладID=@НовыйТовар)
BEGIN
UPDATE ЗаказаноТоваров
SET Количество=Количество+@Кол_во
WHERE ЗаказID=@НовыйЗаказ AND СкладID = @НовыйТовар
END
ELSE
BEGIN
INSERT INTO ЗаказаноТоваров
VALUES (@НовыйЗаказ, @НовыйТовар, @Кол_во, @ЦенаПродажи )
END

Обсуждение

Неизвестный
06.04.2011, 00:59
общий
SQL 2008
Форма ответа