Модераторы: Akina
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Данный триггер будет обрабатывать всю таблицу, или одну запись? 
V
    Опции темы
Иван Человеков
  Дата 2.4.2006, 21:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 235
Регистрация: 11.3.2006
Где: Минск

Репутация: нет
Всего: 1



Есть 2 связанные таблицы spTovar, PrihodIT по полю tovatID
Триггер типа:
Код

ALTER  TRIGGER [calcnakl] ON [dbo].[PrihodIT] 
FOR INSERT, UPDATE, DELETE 
AS
update prihodIT
 set stoim_kol=kol*(nadb+
       (select cena_edin
       from spTovar
       where tovarID in (select tovarID from inserted)))


Будет обрабатывать одну запись таблицы PrihodIt или все? Надо одну smile
Спасибо.


PM ICQ   Вверх
Иван Человеков
Дата 2.4.2006, 22:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 235
Регистрация: 11.3.2006
Где: Минск

Репутация: нет
Всего: 1



Спасибо, разобрался, подсказали так:
Код

ALTER TRIGGER [calcnakl] ON [dbo].[PrihodIT] 
FOR INSERT, UPDATE   --, DELETE 
AS
update p
set stoim_kol=i.kol*(i.nadb+s.cena_edin)
from inserted i inner join
       prihodIT p on i.tovarID = p.tovarID inner join
       spTovar s on i.tovarID = s.tovarID

PM ICQ   Вверх
Иван Человеков
Дата 7.4.2006, 21:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 235
Регистрация: 11.3.2006
Где: Минск

Репутация: нет
Всего: 1



Код

set nocount on
update p
set stoim_kol=i.kol*(i.nadb+c.summa)
from inserted i inner join
       prihodIT p on i.cenaID = p.cenaID inner join
       spCena c on i.cenaID = c.cenaID
set nocount off


Подскажите пожалуйста, как в триггере внести изменения в ещё два поля записи?
Код

sum_nds=stoim_kol*0.18,allsumm=stoim_kol+sum_nds

Неужели писать ещё один?
Спасибо smile
PM ICQ   Вверх
Иван Человеков
Дата 11.4.2006, 19:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 235
Регистрация: 11.3.2006
Где: Минск

Репутация: нет
Всего: 1



Спасибо. Решил пересчёт делать в коде программы smile
PM ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "MS SQL"
Akina

Akina

Запрещается!

Публиковать ссылки и обсуждать взлом чего бы то ни было.

  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы составления неспецифических запросов рассматриваются здесь
  • Используйте теги [code=sql][/code] для подсветки кода. Используйтe чекбокс "транслит" (возле кнопок кодов) если у Вас нет русских шрифтов.

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Zloxa, Akina.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | MS SQL Server | Следующая тема »


 




[ Время генерации скрипта: 0.0489 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.