Форум программистов, компьютерный форум, киберфорум
PostgreSQL
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.60/5: Рейтинг темы: голосов - 5, средняя оценка - 4.60
1 / 1 / 0
Регистрация: 20.12.2012
Сообщений: 19

Создать триггер для занесения стоимости каждого проданного билета во временную таблицу

14.06.2014, 23:08. Показов 1022. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Если кто-нибyдь может, то помогите пожалyйста. Все задания сделал, кроме этого, просто с триггерами как то не заладилось

Создать триггер для занесения стоимости каждого проданного билета во временную таблицу «выручка за текущий день».

Вот таблицы
SQL
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
USE Avtovokzal
CREATE TABLE VODITEL(
Voditel_no SMALLINT PRIMARY KEY,
Passport_no NCHAR(9) NOT NULL,
FName VARCHAR(20) NOT NULL,
LName VARCHAR(20) NOT NULL,
Surname VARCHAR(20) NOT NULL,
City VARCHAR(20) NOT NULL,
Street VARCHAR(20) NOT NULL,
House NCHAR(6) NOT NULL,
Flat SMALLINT NULL
) 
GO
 
USE Avtovokzal
CREATE TABLE AVTOBUS(
Avtobus_no NCHAR(9) PRIMARY KEY,
Marka VARCHAR(20) NOT NULL,
Avtobus_type VARCHAR(20) NOT NULL,
Kol_Mest SMALLINT NOT NULL,
Kol_Vsego SMALLINT NOT NULL//([Kol_Vsego]=([Kol_Mest]+(10)))
) 
GO
 
 
USE Avtovokzal
CREATE TABLE REIS(
Reis_no SMALLINT PRIMARY KEY,
Punkt_Otpr VARCHAR(20) NOT NULL,
Punkt_Nazn VARCHAR(20) NOT NULL,
Vremya_Otpr datetime NOT NULL,
Vremya_VPuty SMALLINT NULL
) 
GO
 
USE Avtovokzal
CREATE TABLE PEREVOZKA(
Bilet_no NCHAR(9) PRIMARY KEY,
Bilet_Price INT NOT NULL,
Date_Otpr datetime NOT NULL,
Voditel_no SMALLINT NOT NULL,
Avtobus_no NCHAR(9) NOT NULL,
Reis_no SMALLINT NOT NULL,
) 
GO
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
14.06.2014, 23:08
Ответы с готовыми решениями:

Как создать временную таблицу внутри хранимой процедуры?
Вот что-то не нашел нигде об этом. Надо написать процедуру сложного расчета по БД. Результатом должна быть таблица. Надо сформировать в...

ASP, ADO, Access - как создать временную таблицу в памяти?
День добрый! Сильно не бейте, если вопрос совсем банальный, но поиски по гуглу в течение дня результатов не дали. У меня есть...

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

3
1265 / 979 / 384
Регистрация: 02.09.2012
Сообщений: 3,026
15.06.2014, 17:13
SQL
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
CREATE TABLE DailyTakings (
Date_Otpr datetime NOT NULL,
Bilet_Sum INT NOT NULL);
 
CREATE TRIGGER OnCheckSum AFTER INSERT OR DELETE OR UPDATE ON Perevozka
FOR EACH ROW EXECUTE PROCEDURE CheckSum();
 
CREATE FUNCTION CheckSum() RETURN TRIGGER AS $body$
BEGIN
  IF TG.OP == 'INSERT' THEN
    -- Запомнить NEW.Data_Otpr
    -- Запонить NEW.Bilet_Price
  END IF;
  IF TG.OP == 'UPDATE' THEN
    -- Запонмить NEW.Date_Otpr
    -- Запомнить разницу между NEW.Bilet_Price и OLD.Bilet_Price
  END IF;
  IF TG.OP == 'DELETE' THEN
    -- Запомнить OLD.Date_Otpr
    -- Запомнить со знаком минус OLD.Bilet_Price
  END IF;
  -- Определить, есть ли запись в DailyTakings на запомненную дату
  -- Если есть, то UPDATE запомненного числа
  -- Если нет, то INSERT запомненного числа
  RETURN NULL;
END; $body$
LANGUAGE pgplsql;
Вот примерно за основу, дальше спрашивайте, если не получится
1
1 / 1 / 0
Регистрация: 20.12.2012
Сообщений: 19
15.06.2014, 21:00  [ТС]
Спасибо. Только я не совсем понимаю, при чем здесь фyнкция?
Ведь надо один триггер сделать и все.
И его как раз таки сделать и не полyчается(
0
1265 / 979 / 384
Регистрация: 02.09.2012
Сообщений: 3,026
16.06.2014, 14:23
Суть триггера - запустить заданную функцию при возникновении определенного события (удаление, изменение, добавление данных из/в таблицу).
Соответственно, нужна функция (CREATE FUNCTION) и нужно определение самого тригера с условием срабатывания (CREATE TRIGGER).
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
16.06.2014, 14:23
Помогаю со студенческими работами здесь

Создание кнопки для занесения данных в таблицу
В общем такой вопрос: Как создать кнопку в форме для записи данных в таблицу к которой эта форма не относится? То есть, есть форма А...

Нажатие на кнопку для занесения значения флажка в таблицу
Есть форма "Данные", значения в которой берутся из таблицы "Данные". Форма "Данные" состоит из двух вкладок. Первая вкладка -...

Фирма предоставляет скидку оптовым покупателям. Сумма скидки составляет 10% от стоимости проданного товара
Фирма предоставляет скидку оптовым покупателям. Сумма скидки составляет 10% от стоимости проданного товара для количества проданного...

Триггер для подсчета общей стоимости заказа
Нужно подсчитать общую стоимость заказа. Формула подсчета выглядит так: 100 * Количество дисков * срок аренды в sql: 100 * N_LEASE *...

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


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
Автоматическое создание документа при проведении другого документа
Maks 29.03.2026
Реализация из решения ниже выполнена на нетиповых документах, разработанных в конфигурации КА2. Есть нетиповой документ "ЗаявкаНаРемонтСпецтехники" и нетиповой документ "ПланированиеСпецтехники". В. . .
Настройка движения справочника по регистру сведений
Maks 29.03.2026
Решение ниже реализовано на примере нетипового справочника "ТарифыМобильнойСвязи" разработанного в конфигурации КА2, с целью учета корпоративной мобильной связи в коммерческом предприятии. . . .
Автозаполнение реквизита при выборе элемента справочника
Maks 27.03.2026
Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. При выборе "Спецтехники" (Тип Справочник. Спецтехника), заполняется. . .
Сумматор с применением элементов трёх состояний.
Hrethgir 26.03.2026
Тут. https:/ / fips. ru/ EGD/ ab3c85c8-836d-4866-871b-c2f0c5d77fbc Первый документ красиво выглядит, но без схемы. Это конечно не даёт никаких плюсов автору, но тем не менее. . . всё может быть. . .
Автозаполнение реквизитов при создании документа
Maks 26.03.2026
Программный код из решения ниже размещается в модуле объекта документа, в процедуре "ПриСозданииНаСервере". Алгоритм проверки заполнения реализован для исключения перезаписи значения реквизита,. . .
Команды формы и диалоговое окно
Maks 26.03.2026
1. Команда формы "ЗаполнитьЗапчасти". Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. В качестве источника данных. . .
Кому нужен AOT?
DevAlt 26.03.2026
Решил сделать простой ланчер Написал заготовку: dotnet new console --aot -o UrlHandler var items = args. Split(":"); var tag = items; var id = items; var executable = args;. . .
Отправка уведомления на почту при создании или изменении элементов справочника
Maks 24.03.2026
Программная отправка письма электронной почты на примере типового справочника "Склады" в конфигурации БП3. Перед реализацией необходимо выполнить настройку системной учетной записи электронной. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru