[pgsql-jp: 37354] create table as でのvarchar型定義について
K.Taniguchi
taniguchi @ graphic.co.jp
2006年 7月 19日 (水) 17:05:00 JST
taniguchi と申します。
テーブル table1
field1 integer
field3 text
field4 timestamp
field5 boolean
テーブル table1にはレコードが複数登録されています。
そのテーブル table1に対して field1とfield3の間に追加フィールド field2(型:varchar(10))
を足した
状態のテーブル table2を作るために以下のSQLを実行しているのですが、
CREATE TABLE table2 AS ( SELECT field1, ''::varchar(10) AS field2, field3,
field4 FROM table1 )
PostgreSQL 7.3.2上にて以下の作業を行った場合 ...
テーブル table2
field1 integer
field2 character varying
field3 text
field4 timestamp
field5 boolean
field2の10文字という制限文字数がかかっていない状態で定義されてしまいます。
PostgreSQL 8.0.8上にて以下の作業を行った場合 ...
テーブル table2
field1 integer
field2 character varying(10)
field3 text
field4 timestamp
field5 boolean
field2の10文字という制限文字数がかかっている状態で定義されます。
以上のように
PostgreSQL 7.3.2でもPostgreSQL 8.0.8と同じ結果にするにはどのようにすればいいでしょうか?
SQLの書き方がまずいのか、7.xの仕様なのか、苦慮しております。
どうかご教授よろしくおねがいいたします。
pgsql-jp メーリングリストの案内