PostgreSQL의 INSERT...RETURNING 및 CTE를 사용하여 하위 테이블에 여러 값 삽입
상위 테이블에서 새로 추출된 user_id를 삽입하려면 table1 하위 테이블 table2 및 table3에 PostgreSQL은 데이터 수정 공통 테이블 표현식을 사용하여 우아한 솔루션을 제공합니다. (CTE).
CTE를 사용하면 여러 개의 INSERT 문을 연결하여 단일 트랜잭션에서 여러 작업을 실행할 수 있습니다.
WITH ins1 AS ( INSERT INTO table1 (username, name, surname) VALUES ('johnee', 'john', 'smith') RETURNING user_id ) , ins2 AS ( INSERT INTO table2 (user_id, password) SELECT ins1.user_id, 'secret' FROM ins1 ) INSERT INTO table3 (user_id, adress, city, phone) SELECT ins1.user_id, ... FROM ins1 RETURNING user_id;
이 코드는 단계별 프로세스를 따릅니다.
핵심 사항:
위 내용은 PostgreSQL CTE 및 INSERT...RETURNING이 어떻게 상위 및 하위 테이블에 데이터를 효율적으로 삽입할 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!