Предположим, у меня есть две таблицы: a
и b
, обе имеют две строки: int
и date
. Я хочу написать триггер, который при удалении строк из таблицы a
копирует их в таблицу b
с датой, измененной на текущую дату. Итак, если я удаляю строку с 13, 2015-01-01
сегодня из таблицы a
, 13, 2015-06-08
вставлен в таблицу b
. Любые идеи о том, как это сделать?Триггер, вставляющий удаленные строки в Postgresql
0
A
ответ
3
create or replace function a_adr_tf() returns trigger as $$
begin
insert into b(aid, awhen) values (old.id, now());
return old;
end;
$$ language plpgsql;
create trigger a_adr after delete from a for each row execute procedure a_adr_tf();
Обратите внимание, что этот триггер не заботится о возможном дубликате первичного ключа в таблице b
. Я предположил, что столбцы в A
называются id
и when
, а в B
они называются aid
и awhen
.
Вы можете решить проблему первичного ключа B
при наличии ПК в B
от типа серийного, или, если вы хотите только одну строку в B
с тем же id
от A
с триггером удаляемого из B
, когда новая строка вставляется в A
.
+0
Большое спасибо, единственное, что я не знал, это часть old.id. – eilchner
Смежные вопросы
- 1. Postgres Partition Table Триггер, вставляющий повторяющиеся записи
- 2. PostgreSQL триггер не работает
- 3. Поймать удаленные строки в PostgresSQL
- 4. postgresql libpq, вставляющий пустую строку без причины
- 5. Триггер, который вставляет удаленные данные в таблицу
- 6. PostgreSQL триггер с условием
- 7. Postgresql вставка правило/триггер
- 8. PostgreSQL как написать триггер
- 9. Триггер PostgreSQL до обновления
- 10. Postgresql триггер вставки конкатенировать
- 11. PostgreSQL простой триггер вопрос
- 12. Как создать триггер в PostgreSql?
- 13. Запретить рекурсивный триггер в PostgreSQL
- 14. Oracle триггер, не вставляющий значения в другую таблицу
- 15. Postgresql Триггер для вставки строк
- 16. Триггер PostgreSQL «КОГДА» не работает
- 17. MS Access, вставляющий повторяющиеся строки
- 18. Триггер PostgreSQL вызывает ошибку 55000
- 19. Как удалить из таблицы, а затем удалить удаленные строки? (postgresql)
- 20. Возможно ли передавать данные в триггер postgreSQL?
- 21. SQL, вставляющий в таблицу более одной строки
- 22. PHP, вставляющий эллипсис в середину (!) Строки?
- 23. Триггер PostgreSQL при ошибке синтаксиса
- 24. Postgresql - триггер добавляет два раза
- 25. Введенные, удаленные таблицы в postgreSQL, например SQL Server?
- 26. Postgresql триггер, чтобы вычислить общий результат
- 27. Создать триггер в C на PostgreSQL 9
- 28. Как узнать, включен ли триггер в PostgreSQL?
- 29. Sequelize Migration - Создать триггер в PostgreSQL
- 30. Как проверить, существует ли триггер в PostgreSQL?
Что вы пытаетесь? То, что вы описали, не звучит сложно, поэтому я не понимаю, что именно вам неприятности. –
У меня проблема с функцией. Я не знаю, где хранятся удаленные строки, и я могу их скопировать. Я думал о создании временной таблицы, в которой я бы изменил дату, но все. – eilchner
Отправьте код вашей функции. –