質問: レコードのコピーについて postgresqlで質問があります。 table_aの内容をtable_bにコピーしたいと考えています。 create table table_b as select * from table_a; だと、table_aのフィールドでserial型を使用しているため、 integerになってしまいます。 できれば上記以外でかつ、table_bは既に作成されて いる状態でコピーを行いたいと考えています。 insert into table_b as select * from table_a; とかでできるんでしょうか? それとも他にいい案があるのでしょうか? 確認する環境がないのでわからないのですが、 どなたかご存知の方、お願い致します。
回答: それをやるのでしたらinsert文でいいのですが、 insert into table_b select * from table; ですね。 create文とは違って、insert文ではselectの前に"as"を入れないのがsqlの規格です。postgresqlでもこれで通る筈ですよ。 参考url:http://osb.sra.co.jp/postgresql/manual/postgresql-7.1-ja/sql-insert.html