Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Верен ли триггер:При UPDATE на Складе сформировать заказ на Поставку  [new]
stodeer
Member

Откуда:
Сообщений: 3
Когда в таблице IngredientStocks значение UnitsInStock становится <= значению ReorderLevel таблицы Ingredients, должен сформироваться заказ в таблице IngredientOrders
Верно ли написан триггер?
CREATE TRIGGER trIngrOrderOnUPD
ON IngredientStocks
FOR UPDATE
AS
	BEGIN
		IF EXISTS
		(
		SELECT @igid=ISs.IngredientID, @uninst=ISs.UnitsInStock
			FROM IngredientStocks ISs
		WHERE ISs.IngredientID=inserted.IngredientID
		HAVING @uninst<=(SELECT ReorderLevel FROM Ingredients)
			BEGIN
				INSERT INTO IngredientOrders--([OrderID],[EmpID],[SupplierID],[OrderDate])
					VALUES (NEW.OrderID, NEW.EmpID, NEW.SupplierID, GETDATE())
			END
	END
GO


К сообщению приложен файл. Размер - 9Kb
24 дек 17, 22:44    [21058993]     Ответить | Цитировать Сообщить модератору
 Re: Верен ли триггер:При UPDATE на Складе сформировать заказ на Поставку  [new]
Дедушка
Member

Откуда: Город трёх революций
Сообщений: 5112
stodeer,

- что есть "NEW."?
- что будете делать при обновлении одновременно многих строк в табл IngredientStocks?
- inserted это таблица
24 дек 17, 23:20    [21059016]     Ответить | Цитировать Сообщить модератору
 Re: Верен ли триггер:При UPDATE на Складе сформировать заказ на Поставку  [new]
stodeer
Member

Откуда:
Сообщений: 3
Дедушка,

NEW это id для каждого нового заказа, т.к. там на это поле поставлено Identity true
25 дек 17, 00:00    [21059050]     Ответить | Цитировать Сообщить модератору
 Re: Верен ли триггер:При UPDATE на Складе сформировать заказ на Поставку  [new]
stodeer
Member

Откуда:
Сообщений: 3
Дедушка
- что будете делать при обновлении одновременно многих строк в табл IngredientStocks?


хороший вопрос, на который я не знаю ответа
25 дек 17, 00:01    [21059051]     Ответить | Цитировать Сообщить модератору
 Re: Верен ли триггер:При UPDATE на Складе сформировать заказ на Поставку  [new]
iap
Member

Откуда: Москва
Сообщений: 46951
stodeer
NEW это id для каждого нового заказа
А что такое NEW.OrderID в таком случае?
25 дек 17, 10:40    [21059605]     Ответить | Цитировать Сообщить модератору
 Re: Верен ли триггер:При UPDATE на Складе сформировать заказ на Поставку  [new]
Руслан Дамирович
Member

Откуда: Резиновая нерезиновая
Сообщений: 940
NEW - это PL\SQL Oracle. ТС или форумом ошибся, или переписывает.
25 дек 17, 12:18    [21059966]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить