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

Откуда:
Сообщений: 3
Есть задание: Предположим, что в таблице Building есть поле tot_num_days, содержащее суммарное число дней работы разных работников на этом здании. Создайте триггер, который будет обновлять это поле при каждом обновлении таблицы Assignment.

Вот код создания триггера:
go
create trigger update_assignment
on Assignment
for insert, update, delete
as
update Building
set tot_num_days = tot_num_days +
(select Num_days
from inserted
where inserted.Bldg_id = Building.Bldg_id)

update Building
set tot_num_days = tot_num_days -
(select Num_days
from deleted
where deleted.Bldg_id = Building.Bldg_id)

Если я добавляю какую-нибудь новую запись, то в столбец tot_num_days заполняется значениями NULL. В чем ошибка?

Модератор: Топик закрыт как дубль и оффтопик. В форуме MSSQL, надеюсь, помогут.
3 май 19, 11:53    [21877275]     Ответить | Цитировать Сообщить модератору
 Re: Нужна помощь! SQL  [new]
alex55555
Member

Откуда:
Сообщений: 2082
Kristina_29
Есть задание: Предположим, что в таблице Building есть поле tot_num_days, содержащее суммарное число дней работы разных работников на этом здании. Создайте триггер, который будет обновлять это поле при каждом обновлении таблицы Assignment.

Вот код создания триггера:
go
create trigger update_assignment
on Assignment
for insert, update, delete
as
update Building
set tot_num_days = tot_num_days +
(select Num_days
from inserted
where inserted.Bldg_id = Building.Bldg_id)

update Building
set tot_num_days = tot_num_days -
(select Num_days
from deleted
where deleted.Bldg_id = Building.Bldg_id)

Если я добавляю какую-нибудь новую запись, то в столбец tot_num_days заполняется значениями NULL. В чем ошибка?


Что такое и зачем нужно - Building.Bldg_id?
3 май 19, 12:43    [21877313]     Ответить | Цитировать Сообщить модератору
Все форумы / Работа Ответить