Всем привет. Я дата-инженер и достаточно долгое время работал с БД PostgreSQL. Сменив работу я столкнулся с Oracle и его особенностями. Например, с отсутствием такой удобной конструкции при записи данных, как INSERT... ON CONFLICT DO UPDATE. Есть ее аналог, но чтобы понять объяснение из документации, нужно напрягать мозг. Напишу в том виде, в котором это было бы понятно мне, когда я впервые это увидел. Может, пригодится еще кому-то. Для записи я использую Python и SQLAlchemy, но программного кода здесь не будет, только SQL в нужном формате. Итак, вместо "INSERT … ON CONFLICT DO... "в Oracle используется MERGE...
Триггеры - важный и удобный элемент в наборе инструментов систем управления баз данных.
Про триггеры привычно рассуждать в контексте реляционных баз данных, но и в NoSql-базах они тоже есть: в MongoDb, Neo4j, а в Redis есть Keyspace Notifications. В дальнейшем разговор пойдет в основном о Postgresql. Best Practice для других баз могут отличаться.
Под триггером принято понимать специально оформленную функцию, автоматически запущенную СУБД по некоторому событию.
В реляционных базах триггеры связаны...