Форум программистов, компьютерный форум, киберфорум
Firebird/InterBase
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/6: Рейтинг темы: голосов - 6, средняя оценка - 5.00
1 / 1 / 1
Регистрация: 30.09.2012
Сообщений: 36
1

Создать триггер

07.06.2013, 14:55. Показов 1074. Ответов 1
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Есть две таблицы CLIENT и LIVING:

SQL
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
CREATE TABLE CLIENT (
    NAME      TNAME NOT NULL,
    SNAME     TNAME NOT NULL,
    FNAME     TNAME NOT NULL,
    COM       VARCHAR(30),
    CATEGORY  TCATEGORY NOT NULL,
    DISCOUNT  TDISCOUNT NOT NULL,
    CLIENTID  TID
);
 
CREATE TABLE LIVING (
    DATAOUT           TDATE,
    DATAIN            TDATE,
    LIVINGID          TID,
    COST              TMONEY,
    COSTWITHDISCOUNT  TMONEY
);
COST - ценна за номер, COSTWITHDISCOUNT - ценна за номер со скидкой, информация о скидке храниться в DISCOUNT таблицы CLIENT. Нужно что бы при заполнении даты выезда(DATAOUT) в поле COSTWITHDISCOUNT установилась ценна COSTWITHDISCOUNT:=COST*(1-DISCOUNT). Вот что я делал, но у меня не выходит, я не очень знаю как их правильно писать, подскажите что не так:

SQL
1
2
3
4
5
6
7
8
9
10
11
12
13
CREATE TRIGGER LIVING_BU0 FOR LIVING
ACTIVE BEFORE UPDATE POSITION 0
AS
BEGIN
  IF (living.dataout IS NOT NULL) THEN
    BEGIN
    UPDATE living
    SET
    living.costwithdiscount:= living.cost*(1-client.discount)
    WHERE
    livingid =: fin_livingid;
    END
END
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
07.06.2013, 14:55
Ответы с готовыми решениями:

создать триггер
Нужно создать триггер, который бы при истечении 20 дней удалял фильм из таблицы сеансы. Как...

Нужно создать простенький триггер
Имеется таблица TICKETS, нужно создать триггер который бы сравнивал бы поля при добавлении записи,...

Создать триггер на добавление записи в таблицу
Создать триггер на добавление записи в таблицу. Если дата окончания действия компонента рекламной...

Как создать триггер в ibexpert и использовать таблицы в Lazarus
Всем здравия и счастья в жизни. Сразу предупреждаю, что я плохо шарю в терминах, поэтому прошу...

1
912 / 877 / 62
Регистрация: 06.01.2010
Сообщений: 2,367
Записей в блоге: 6
07.06.2013, 16:02 2
SQL
1
2
IF (NEW.DATAOUT IS NOT NULL) THEN
  NEW.COSTWITHDISCOUNT = NEW.COST*(SELECT 1-DISCOUNT FROM CLIENT WHERE ID=NEW.LIVINGID);
1
07.06.2013, 16:02
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
07.06.2013, 16:02
Помогаю со студенческими работами здесь

Не получается создать триггер для перемножения полей из разных таблиц
Вобщем нужно чтобы триггер перемножал поля izdelie.cena и vid_obrabot.koeffic и записывал результат...

Создать триггер
Здравствуйте! У меня возникла трудность: необходимо создать триггер, который при добавлении нового...

Создать триггер
Здравствуйте Необходимо создать триггер Есть таблица Zakaz (ZakazID, ZakazUslugaID) и таблица...

Создать триггер на 2 таблицы
Здравствуйте! Нужна помощь в составлении триггера или же процедуры (желательно триггера/ов) на 2...

Создать триггер на мутацию
Помогите пожалуйста создать триггер на мутацию, по лабе нужно сделать, все сделал а этого никак не...

Создать триггер DDL
Всем привет! нужен пример триггера для MySql, который при попытке удалить таблицу "test" будет...


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru