Форум программистов, компьютерный форум, киберфорум
Microsoft SQL Server
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
0 / 0 / 0
Регистрация: 02.10.2017
Сообщений: 7
1

Триггер на создание новой строки в другой таблице

20.12.2018, 22:17. Просмотров 827. Ответов 1
Метки нет (Все метки)


Есть таблицы Product и Order.
В таблице Product находятся столбцы: ProductID, MakerID, Model, ColorID, DescriptionID, Price, SaleID, WarehouseAmount.
В таблице Order: OrderID, ProductID, Amount, OrderCost, OrderStart, OrderEnd, SupplierID.
Мне нужно, чтобы update trigger реагировал на изменение количества товара на складе (WarehouseAmount) в таблице Product, и если этот остаток меньше 10 единиц, то создавалась новая строка в таблице Order.

Набросок триггера такой:
T-SQL
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
CREATE TRIGGER [dbo].[insert_trigger] 
   ON  [dbo].[Product]
   AFTER UPDATE
AS 
    if ((select WarehouseAmount from Product) < 10) 
INSERT INTO [dbo].[Order] 
    ([ProductID] 
    ,[Amount] 
    ,[OrderCost] 
    ,[OrderStart] 
    ,[SupplierID]) 
VALUES 
    ((select ProductID from Product), 
    10, 
    (select Price from Product)*10, 
    getdate(), 
    1);
Нужно, чтобы в поле ProductID добавлялся айдишник товара, остаток которого на складе менее 10 единиц.
Проблема возникает, когда я изменяю в таблице значения остатка на складе. Выводится ошибка:
Триггер на создание новой строки в другой таблице
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
20.12.2018, 22:17
Ответы с готовыми решениями:

Создание новой строки в таблице
Имеется код для создания новой строки в таблице БД procedure TForm1.Button1Click(Sender: TObject);...

Разработать триггер, запускаемый при занесении новой строки в таблицу. Триггер должен увеличивать счетчик ч
Разработать триггер, запускаемый при занесении новой строки в таблицу. Триггер должен увеличивать...

Триггер на добавление, проверяющий значения в другой таблице
Есть 2 таблицы. Первая таблица: ид/ид_материала 1/1 2/(х) Вторая таблица: ид/материал

Триггер: когда в одной таблице создается запись, то и в другой тоже появляется
Пытаюсь написать тригер, когда в одной таблице создается запись, то и в другой тоже появляется. ...

1
3560 / 3034 / 817
Регистрация: 29.08.2013
Сообщений: 20,241
Записей в блоге: 2
21.12.2018, 08:16 2
ошибку переведи
Error message: Subquery returned more than 1 value

и все станет понятно
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
21.12.2018, 08:16

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь или здесь.

Триггер на заполнение поля в дочерней таблице из другой таблицы при вводе данных в дочернюю
Необходимо заполнить поле date_admission в таблице deliveries(дочерняя), взяв значение date_end из...

При добавлении новой записи, обновлять данные в другой таблице
Привет всем! в джанге новичок, никак не допру как решить простейшую задачу: class...

Найти строки в таблице, которых нет в другой таблице
Здравствуйте! Помогите, пожалуйста, составить запрос. Думаю думаю, никак не могу сообразить....

Триггер для автоматического определения и записи номера строки в таблице
Привет Не могу написать триггер для того, чтоб id строк таблицы прописывался автоматически при...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.