3 / 2 / 1
Регистрация: 22.01.2018
Сообщений: 23
|
||||||||||||||||||||||
Триггерные процедуры06.11.2018, 09:19. Показов 3431. Ответов 12
Метки нет Все метки)
(
Здравствуйте программисты.
Помогите пожалуйста с триггером в бд Postgres. Помогите написать триггер, при добавлении записи в таблицу sale, price считался автоматически. Имеются 2 таблицы: Product
sale
Это просто как образец, не думайте что ищу готовое решение. Просто примеров очень мало, и не могу понять как написать. А по этому образцу выполню свою работу. Спасибо заранее.
0
|
06.11.2018, 09:19 | |
Ответы с готовыми решениями:
12
Триггерные функции Триггеры и триггерные функции Триггеры и Триггерные функции |
1258 / 973 / 383
Регистрация: 02.09.2012
Сообщений: 3,001
|
|
06.11.2018, 13:57 | |
![]() Решение
В оф. документации пример 43.4
Вам нужен триггер на INSERT и UPDATE таблицы sale.
1
|
3 / 2 / 1
Регистрация: 22.01.2018
Сообщений: 23
|
||
06.11.2018, 14:12 [ТС] | ||
![]()
0
|
1258 / 973 / 383
Регистрация: 02.09.2012
Сообщений: 3,001
|
|
06.11.2018, 17:35 | |
Вы указанный пример триггера смотрели?? Что конкретно непонятно в примере?? Какой элемент синтаксиса??
Для триггера нужно как минимум 1) таблица, к которой будет этот триггер "привязан" (CREATE TABLE) 2) триггерная функция, которая выполняет функцию обработчика триггера (CREATE FUNCTION) 3) собственно само объявление и создание триггера (CREATE TRIGGER) Вам нужно написать 3 CREATE'а.
0
|
1258 / 973 / 383
Регистрация: 02.09.2012
Сообщений: 3,001
|
|
07.11.2018, 13:45 | |
![]() Решение
В функции-обработчике Вам нужно
1. получить цену по продукту, который вы в данный момент добавляете (SELECT price FROM product WHERE id = NEW.id) 2. если такого товара нет, видимо, запретить добавление (вернуть OLD) 3. присвоить NEW.price = _price (из п.1) * NEW.ammount 4. вернуть NEW
1
|
3 / 2 / 1
Регистрация: 22.01.2018
Сообщений: 23
|
||||||
07.11.2018, 20:03 [ТС] | ||||||
![]() У меня есть вот такие таблицы. В таблице Report в последнем столбце считается ЗП по (StaffID, WorkID, Time) в WorkID я получил данные с таблицы Work. А с StaffID проблемы ![]()
![]()
0
|
1258 / 973 / 383
Регистрация: 02.09.2012
Сообщений: 3,001
|
||||||
08.11.2018, 01:59 | ||||||
![]() Решение
Синтаксис USING работает, когда имена полей, по которым связываются таблицы, одинаковые.
Когда разные, можно написать так
0
|
3 / 2 / 1
Регистрация: 22.01.2018
Сообщений: 23
|
|
08.11.2018, 09:16 [ТС] | |
Все получилось. Пришлось почитать доки, как делать вложенные запросы, что такое псевдоним и потрясти бубен.
Спасибо огромное за помощь ![]() ![]() PS: Рабочий код выложу позже, как сдам курсовую ![]()
0
|
08.11.2018, 09:16 | ||||||
Помогаю со студенческими работами здесь
13
Запуск процедуры выхода во время работы другой процедуры
Использование имени процедуры в качестве параметра другой процедуры Искать еще темы с ответами Или воспользуйтесь поиском по форуму:
|
|
Новые блоги и статьи
![]() |
||||
JWT аутентификация в Java
Javaican 21.04.2025
JWT (JSON Web Token) представляет собой открытый стандарт (RFC 7519), который определяет компактный и самодостаточный способ передачи информации между сторонами в виде JSON-объекта. Эта информация. . .
|
Спринты Agile: Планирование, выполнение, ревью и ретроспектива
EggHead 21.04.2025
Спринты — сердцевина Agile-методологии, позволяющая командам создавать работающий продукт итерационно, с постоянной проверкой гипотез и адаптацией к изменениям. В основе концепции спринтов лежит. . .
|
Очередные открытия мега простых чисел, сделанные добровольцами с помощью домашних компьютеров
Programma_Boinc 21.04.2025
Очередные открытия мега простых чисел, сделанные добровольцами с помощью домашних компьютеров.
3 марта 2025 года, в результате обобщенного поиска простых чисел Ферма в PrimeGrid был найден. . .
|
Система статов в Unity
GameUnited 20.04.2025
Статы — фундаментальный элемент игрового дизайна, который определяет характеристики персонажей, предметов и других объектов в игровом мире. Будь то показатель силы в RPG, скорость передвижения в. . .
|
Статические свойства и методы в TypeScript
run.dev 20.04.2025
TypeScript прочно занял своё место в системе современной веб-разработки. Этот строго типизированный язык программирования не просто расширяет возможности JavaScript — он делает разработку более. . .
|
Batch Transform и Batch Gizmo Drawing API в Unity
GameUnited 20.04.2025
В мире разработки игр и приложений на Unity производительность всегда была критическим фактором успеха. Создатели игр постоянно балансируют между визуальной привлекательностью и плавностью работы. . .
|
Звук в Unity: Рандомизация с Audio Random Container
GameUnited 20.04.2025
В современных играх звуковое оформление часто становится элементом, который либо полностью погружает игрока в виртуальный мир, либо разрушает атмосферу за считанные минуты. Представьте: вы исследуете. . .
|
Максимальная производительность C#: Советы, тестирование и заключение
stackOverflow 20.04.2025
Погружение в мир микрооптимизаций C# открывает перед разработчиком целый арсенал мощных техник. Но как определить, где и когда их применять? Ответ начинается с точных измерений и профилирования.
. . .
|
Максимальная производительность C#: Предсказание ветвлений
stackOverflow 20.04.2025
Третий ключевой аспект низкоуровневой оптимизации — предсказание ветвлений. Эта тема менее известна среди разработчиков, но её влияние на производительность может быть колоссальным. Чтобы понять. . .
|
Максимальная производительность C#: Векторизация (SIMD)
stackOverflow 20.04.2025
Помимо работы с кэшем, другим ключевым аспектом низкоуровневой оптимизации является векторизация вычислений. SIMD (Single Instruction, Multiple Data) позволяет обрабатывать несколько элементов данных. . .
|