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

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

14.06.2014, 23:08. Показов 1002. Ответов 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
1263 / 977 / 384
Регистрация: 02.09.2012
Сообщений: 3,020
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
1263 / 977 / 384
Регистрация: 02.09.2012
Сообщений: 3,020
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
Ответ Создать тему
Новые блоги и статьи
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
Фото: Daniel Greenwood
kumehtar 13.11.2025
Расскажи мне о Мире, бродяга
kumehtar 12.11.2025
— Расскажи мне о Мире, бродяга, Ты же видел моря и метели. Как сменялись короны и стяги, Как эпохи стрелою летели. - Этот мир — это крылья и горы, Снег и пламя, любовь и тревоги, И бескрайние. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru