172 похожих чатов

Вопрос по триггерам, дата является частью составного PK на составной PK

ссылается одна внешняя таблица, так же составным FK из двух колонок, где вторая ДАТА

пишу триггер в материнской таблице что при смене даты, надо заменить значение во внешней таблице

но тут срабатывает вперед триггера after update проверка внешнего FK, мол нельзя в текущей майн таблице изменять дату, так как во внешней ссылка получается на несуществующую запись (предыдущее значение). как так то?

как в триггерах включить отложенную проверку до конца транзакции?

6 ответов

2 просмотра
Amir- Автор вопроса

сам проблему задал, сам решение нашел: DEFERRABLE INITIALLY DEFERRED

Amir- Автор вопроса
Amir
сам проблему задал, сам решение нашел: DEFERRABLE ...

хотя уже явно указал что FK с такой проверкой, и все равно при изменении ДАТЫ ругается, это не может быть багой в 15м enterprise pg?

В родительской таблице поле с датой входит в PK?

Amir
Да.

И ты меняешь поля первичного ключа?

Если надо менять такие данные, делай удаление старых и вставку новых

Похожие вопросы

Обсуждают сегодня

type TObj = object procedure Init; virtual; end; TObj1 = object(TObj) procedure Init; override; end; procedure TObj1.Init; begin inherited; end; procedur...
Alexander 👋
29
Есть какой-нибудь для Delphi/FPC T*Compression(Decompression)Stream на базе LZ4/Zstd/любой другой быстрый(и хорошо сжимающий) алгоритм А ещё лучше в pure pascal А ещё лучше од...
notme
45
А чем вам питонисты не угодили?😂
.
79
Можно ли загрузить скрипт py в бота чтобы он работал по нему? как это сделать?
huskadam #RCC Фанат? @hitlerpvp
13
А дин типизация это хорошо или плохо?
Alexey
12
Исходники плюс документация? Вы гоните)) демок хватит всем
zamtmn
11
Язык Си можно выучить за день? По книжке ANSI C на 230 страниц
Vincent Vegan
29
Hello. Could you please help me with finding all coordinates within a radius using a spatial index, given that I have a table with coordinates? SET @lng = 37.57925; SET @lat ...
Rinchin G
7
Всем привет, написал код ниже, но он выдает сегфолт, в чем причина? #include <stdio.h> #include <stdlib.h> #include <string.h> struct product { char *name; float price; };...
buzz базз
76
а что есть "статистика" ? просто подсчет фактов обращения и времен выполнения ?
Сергей
9
Карта сайта