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

Есть ли возможность триггером проверять что записано значение в один столбец

04.09.2014, 09:47. Показов 2216. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
подскажите пожалуйста а есть ли возможность триггером проверять что записано значение в один столбец, а затем производить с ним какие-нибудь действия и ложить в другой столбец. ну как я уже сделал подсчет суммы пришедших значений и сложение в другой столбец. НО триггер реагирует на все занесения а мне необходимо чтобы он обрабатывал занесение в опрделенный столбец

Добавлено через 1 час 15 минут
а нет я не правильно наверно выразился. есть столбец - приходит значение с прибора. таких приборов несколько. как указать чтобы триггер реагировал на данные только определенных приборов
пример таблицы
idvaluetimeописание
134512.23.34вот на этот тег нужно повесить триггер
2445612.23.34это добавление не должно обрабатываться
334612.23.34тут некое значение на основании данных триггера
ну конечно, не столбец, а строка

Добавлено через 1 час 33 минуты
как понял нужно это
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
04.09.2014, 09:47
Ответы с готовыми решениями:

Есть ли возможность подключить к текущему батнику еще один?
Я имею ввиду есть ли в CMD аналог include? То есть если допустим часть кода хранится в другом файле .bat можно как-то не копируя сам код...

Есть ли в библиотеке NInject и подобных возможность сопоставить один не связанный наследованием тип к другому?
В общем, написал свой контейнер сопоставления типов. Нужен был, чтобы убрать ад из кода по созданию окон настроек. Чтобы был краткий код,...

Regex выражение которое будет проверять, что в строке есть только символы латинского алфавита и спецсимволы
Задача написать выражение которое будет проверять, что в строке есть только символы латинского алфавита+ спецсимволы (. ^ $ * + ? { } \ |...

4
1264 / 978 / 384
Регистрация: 02.09.2012
Сообщений: 3,021
04.09.2014, 16:40
не очень понятно сформулировали свой вопрос... может так

Oracle 11 SQL
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
CREATE TRIGGER test 
AFTER INSERT OR UPDATE 
ON mytable 
FOR EACH ROW
EXECUTE PROCEDURE myproc();
 
CREATE FUNCTION myproc() RETURNS TRIGGER AS
$BODY$
BEGIN
  IF NEW.MyPriborId = XXX THEN
    -- DO you work!!
  END IF;
  RETURN NULL;
END;
$BODY$ LANGUAGE plpgsql;
0
Заблокирован
05.09.2014, 07:14  [ТС]
я так и сделал. но триггер же срабатывает на любое добавление данных, т.е. тратится время на проверку условию. я хочу этого избежать
0
1264 / 978 / 384
Регистрация: 02.09.2012
Сообщений: 3,021
06.09.2014, 16:20
Ну тогда есть несколько вариантов.
1. Разбить триггер на отдельные тригеры на INSERT и UPDATE. В INSERT в NEW.YourColumn будет новое значение
2. В UPDATE использовать конструкцию UPDATE OF YourColumn, плюс можно добавить в описание тригера WHEN (OLD.YourColumn IS DISTINCT OF NEW.YoutColumn)
0
Заблокирован
12.09.2014, 08:42  [ТС]
т.е.
Oracle 11 SQL
1
2
3
4
5
CREATE TRIGGER check_update
BEFORE UPDATE ON accounts
FOR EACH ROW
WHEN (OLD.balance IS DISTINCT FROM NEW.balance)
EXECUTE PROCEDURE check_account_update();
не канает
\\\\\\\\\\
млин че задача такая нетривиальная что ли? подсказть никто не может
мне вот такую ошибку бахает
ERROR: INSERT trigger's WHEN condition cannot reference OLD values
LINE 1: ...ta" FOR EACH ROW WHEN (pg_trigger_depth() = 0 AND old."F_Con...

Добавлено через 1 минуту
а мдин. тут же апдейт, а мне инзерт нужен

Добавлено через 20 часов 24 минуты
все оказалось элементарно
Oracle 11 SQL
1
2
3
4
5
CREATE TRIGGER trigger_mof_water_stav12_shipment
  AFTER INSERT 
  ON "SC_Tag"."T_TagData" FOR EACH ROW 
  WHEN (pg_trigger_depth() = 0 AND NEW."F_TagName_ID" = 30)
EXECUTE PROCEDURE "SC_Tag".mof_water_stav12_shipment();
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
12.09.2014, 08:42
Помогаю со студенческими работами здесь

Есть ли возможность что-то сделать с этим
Имеется Хард Samsung HD502HJ 500Gb. Тестировал программой Виктория простым сканированием диска: первые 10-15 мегабайт он сканирует с бедами...

Показывает значение левее на один столбец
Здравствуйте, Уважаемые Форумчане. Помогите решить еще одну проблему, как сделать что бы отображалось значение левее на один столбец, от...

Есть ли возможность одним запросом увеличить значение поля на 1 ?
est li vozmozhnost odnim zaprosom uvelichit znachenie field(integer) na 1. toest bez select... a zatem update..., a srazu update?

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

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


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
Символьное дифференцирование
igorrr37 13.02.2026
/ * Логарифм записывается как: (x-2)log(x^2+2) - означает логарифм (x^2+2) по основанию (x-2). Унарный минус обозначается как ! */ #include <iostream> #include <stack> #include <cctype>. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru