insert 문에서, 실제로 인서트된 데이터들을 다시 리턴하는 문법으로 RETURNING 절이 추가되었습니다.
insert into tb_test (field1, field2) values (1, 1)
returning field1, field2
위와 같이 실행하면, 결과셋으로 인서트된 field1, field2 값들이 리턴됩니다.
이 문법은 특히 PSQL에서 트리거에서나 제너레이터에 의해 생성된 값을 받아 스토어드 프로시저 등에서 다른 처리를 할 때 특히 유용하겠지요. 예를 들어 스토어드 프로시저 내에서 다음과 같이 인서트된 값들을 value1, value2 변수로 받아올 수 있습니다.
insert into tb_test (field1, field2) values (1, 1)
returning field1, field2 into :value1, :value2
|