나는 postgres에서 이와 같은 것을 시도하고 있습니다.
UPDATE table1 SET (col1, col2) = (SELECT col2, col3 FROM othertable WHERE othertable.col1 = 123);
INSERT INTO table1 (col1, col2) VALUES (SELECT col1, col2 FROM othertable)
그러나 포인트 1은 문서 ( http://www.postgresql.org/docs/9.0/static/sql-update.html )에 언급 된 것처럼 postgres 9.0에서도 가능하지 않습니다.
또한 포인트 2는 작동하지 않는 것 같습니다. 다음 오류가 발생합니다. 하위 쿼리는 하나의 열만 반환해야합니다.
누군가 나를 위해 해결 방법이 있기를 바랍니다. 그렇지 않으면 쿼리에 시간이 많이 걸립니다.
참고 : 다른 응용 프로그램이 준비된 데이터를 쉽게 가져올 수 있도록 여러 테이블에서 다른 열을 선택하여 임시 테이블에 저장하려고합니다.