Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Web программирование > SQL, базы данных
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 14.12.2013, 21:55   #1
yana848484
Новичок
Джуниор
 
Регистрация: 14.12.2013
Сообщений: 2
По умолчанию помогите, пожалуйста, написать триггер!

мне нужно написать триггер, который после добавления новой записи в 2ой таблице редактирует уже существующее значение в 1ой таблице.
у меня 1-ая таблица:
код товара
имя товара
оптовая цена
количество(в наличии)

2-ая таблица:
код накладной
дата
количество отправленной продукции
код продукта
код договора

и мне нужно, чтобы при добавлении новой накладной на отправку какого-нибудь товара в определенном количестве определенного товара, отнимало значение этого отправленного товара, от того, что был в 1 таблице и меняло значение на полученный результат.
пожалуйста, помогите!)
yana848484 вне форума Ответить с цитированием
Старый 14.12.2013, 23:13   #2
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Во-первых триггера на отправку (INSERT) мало, нужно учитывать, что накладная может изменяться (триггер для UPDATE) и удаляться (триггер для DELETE).

Во-вторых для разных СУБД триггера разный синтаксис имеют, нет абстракных триггеров

В-третьих триггер тут не нужен - остаток товара прекрасно считается в SELECT-запросе
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 15.12.2013, 02:50   #3
yana848484
Новичок
Джуниор
 
Регистрация: 14.12.2013
Сообщений: 2
По умолчанию

мне этот триггер нужен для курсовой, преподаватель сказал написать именно триггер
но мы их толком не учили и мне теперь нужно самостоятельно освоить.
триггер для СКБД Microsoft SQL server
не могли бы Вы подробнее написать, пожалуйста
мне просто очень сложно самой разобраться
yana848484 вне форума Ответить с цитированием
Старый 19.12.2013, 09:24   #4
Станислав Д
 
Регистрация: 19.12.2013
Сообщений: 6
По умолчанию

Цитата:
у меня 1-ая таблица (T1):
код_товара
имя_товара
оптовая_цена
количество(в наличии)

2-ая таблица(T2):
код_накладной
дата
количество_отправленной_продукции
код_продукта
код_договора
Код:
create trigger dbo.T2_insert
on dbo.T2
for insert
as
set nocount on

Update T1 Set
количество = количество - NEW.количество_отправленной_продукции
Where NEW.код_продукта = код_товара

return
Данная СУБД поддерживает имена столбцов и таблиц (и прочего) на русском языке

Последний раз редактировалось Станислав Д; 19.12.2013 в 09:34. Причина: цитирование
Станислав Д вне форума Ответить с цитированием
Старый 19.12.2013, 15:54   #5
xxbesoxx
Участник клуба
 
Регистрация: 10.08.2010
Сообщений: 1,389
По умолчанию

Цитата:
Сообщение от yana848484 Посмотреть сообщение
подробнее написать, пожалуйста
мне просто очень сложно самой разобраться
Читаем и делаем http://www.devels.ru/index.php?what=art&p=100 здесь все подробно написано
xxbesoxx вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
помогите пожалуйста написать функцию!!! Оленька1 JavaScript, Ajax 3 07.12.2013 14:49
написать триггер в ms management studio lishenaianevinosti Помощь студентам 0 22.10.2013 19:33
Необходимо написать триггер удаления для MS SQL Server averardo SQL, базы данных 7 05.06.2013 08:50
пожалуйста помогите написать 3 программы. ramstor Паскаль, Turbo Pascal, PascalABC.NET 0 20.05.2009 22:41
Помогите пожалуйста написать прогу Juhn Паскаль, Turbo Pascal, PascalABC.NET 9 23.12.2007 22:02