Есть ли способ создать триггер на добавление столбцов?

Я использую Postgres. Я нахожусь на середине разработки. Мне нужно создать копию таблицы ABC. Я назову это как XYZ. Я попытался "создать таблицу наследует XYZ () (ABC)". Это нормально работает, но когда я вставляю значения в XYZ, таблица ABC также заполняется (виртуально). Я получаю повторяющиеся значения, когда я запускаю запрос что-то вроде этого "select * from ABC, где id = 1". Я получаю правильную запись, когда я запускаю запрос как этот 'select * from only ABC, где id = 1'.

Это, я не хочу использовать "только". Так что я не думаю, что наследование - это то, что мне нужно. Я просто хочу спросить, есть ли способ автоматического добавления столбца в XYZ при изменении (добавлении столбца) ABC?

Я не хочу создавать два запроса alter для ABC и XYZ. Мне нужно, чтобы две таблицы всегда имели одинаковые столбцы. Любая идея?

1 ответ

Тип триггера, о котором вы говорите, обычно известен как триггер DDL. В PostgreSQL они известны как триггеры событий. Я не уверен, что вы можете выполнить alter table оператор в триггере событий PostgreSQL.

Я не уверен, что это действительно то решение, которое вы ищете. Я думаю, что вы можете быть в середине проблемы XY.

Другие вопросы по тегам