Sobes.tech
Back to questions
Junior — Middle
72

Можно ли выполнить вставку данных одновременно в несколько таблиц с помощью одного SQL-запроса в PostgreSQL?

Companies where asked
ArendadataArendadata

Answer from AI

sobes.tech AI

В PostgreSQL нельзя выполнить вставку данных одновременно в несколько таблиц одним стандартным SQL-запросом INSERT. Каждая команда INSERT работает с одной таблицей.

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

BEGIN;
INSERT INTO table1 (col1, col2) VALUES (val1, val2);
INSERT INTO table2 (col3, col4) VALUES (val3, val4);
COMMIT;

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