2013-06-30 2 views
0

PostgreSQL 9.1 데이터베이스에서 동일한 스키마 (즉, 동일한 열 이름 등)를 가진 32 개의 테이블을 가지고 있고 그 중 하나에서 새 테이블을 만들고 싶습니다 (그래서 쿼리를 통합 할 수 있습니다.)프로그래밍 방식으로 다른 테이블에서 새 테이블 만들기 (Postgres)

나는 INSERT SELECT 기술을 테이블별로 사용할 수 있다는 것을 알고 있지만 더 좋은 방법은 없는지 궁금합니다. 어쩌면 for 루프일까요? 사전에

감사

+1

테이블 상단에 'VIEW'를 만들면됩니다. 데이터를 복사 할 필요가 없습니다. –

답변

0

어쩌면이 같은 작업을해야 테이블이 정말 같은 열 이름과 유형이있는 경우 :

SELECT 'INSERT INTO myschema.mynewtable SELECT * FROM ' || table_schema || '.' || table_name || ';' 
    FROM information_schema.tables 
    WHERE table_schema='myschema' AND table_name LIKE 'old%'; 

이 출력 할 것이다 INSERT 문을 당신은 다음을 삽입하기 위해 실행할 수 있습니다 이전 테이블의 데이터. PL/SQL 프로 시저를 사용하여 자동으로 실행할 수 있습니다. 그러나 한 번만 수행해야한다면 수동으로 실행하는 것이 더 쉽다고 생각합니다.

+0

그건 트릭을 만들었 어! 고맙습니다 – nanounanue

관련 문제