PostgreSQL: INSERT, UPDATE, DELETE 실행 결과 리턴 받기 (WHEN / RETURNING)

PostgreSQL: INSERT, UPDATE, DELETE 실행 결과 리턴 받기 (WHEN / RETURNING)
PGSQL에서는 INSERT , UPDATE , DELETE 쿼리 실행 후 처리 ROWS만 알려주는데, 조금더 상세한 정보를 알수 있는 방법이 있습니다. INSERT , UPDATE , DELETE 쿼리 뒤에 RETURNING * 난 입력해주면 실행한 쿼리의 결과를 출력해주게됩니다. UPDATE member SET id = 't' RETURNING *; RETURNING * 에서 * 은 SELECT * FROM member; 와 같습니다. * 대신 컬럼 명을 입력해도 됩니다. 이 기능을 언제 쓰면 좋을지 활용 예제를 참고해보세요. 시작전에 PGSQL에서 WITH 8.4이상, RETURNING 8.2 이상 버전에서 사용 가능합니다. 활용 예제를 테스트 하기 위한 테이블 생성 -- 회원 CREATE TABLE member ( id VARCHAR(10) PRIMARY KEY, password VARCHAR(10) ); -- 회원 상세 CREATE TABLE member_detail ( id VARCHAR(10) PRIMARY KEY, name VARCHAR(10) ); -- 회원 로그 CREATE TABLE member_log ( id VARCHAR(10), description TEXT, created TIMESTAMP ); -- 회원 백업 CREATE TABLE member_backup AS SELECT * FROM member; -- 회원 테스트 데이터 INSERT INTO member VALUES ('backup-id0', '12345678'), ('backup-id1', '12345678'), ('backup-id2', '12345678'); INSERT 활용 예제 1 설명: 회원 기본 정보를 member 테이블에 정상 입력되면 id 값을 받아 member_detail 테이블에 상세 정보를 넣는다. WITH …

댓글 쓰기