Re: create table and data types - Mailing list pgsql-sql

From Ken Hill
Subject Re: create table and data types
Date
Msg-id 1139956922.3083.79.camel@localhost.localdomain
Whole thread Raw
In response to Re: create table and data types  (Maciej Piekielniak <piechcio@isb.com.pl>)
List pgsql-sql
On Tue, 2006-02-14 at 23:03 +0100, Maciej Piekielniak wrote: <blockquote type="CITE"><pre>
<font color="#000000">Hello Ken,</font>

<font color="#000000">Tuesday, February 14, 2006, 10:30:34 PM, you wrote:</font>
<font color="#000000">KH> On Tue, 2006-02-14 at 22:12 +0100, Maciej Piekielniak wrote:</font>

<font color="#000000">>> Hello pgsql-sql,</font>
<font color="#000000">>> </font>
<font color="#000000">>>   Is anybody know how create field in a new table with data type accuiring from a field
inother table?</font>
 
<font color="#000000">>>   For example:</font>
<font color="#000000">>> </font>
<font color="#000000">>> create table new_table</font>
<font color="#000000">>> ( </font>
<font color="#000000">>>  name other_table.name%TYPE</font>
<font color="#000000">>> ); </font>
<font color="#000000">>> </font>

<font color="#000000">KH> Have you tried inheritance from one table to the new table?</font>

<font color="#000000">KH> CREATE TABLE new_table (new_column)</font>
<font color="#000000">KH>      INHERITS (old_table)</font>

<font color="#000000">KH> All columns in 'old_table' will be inclueded in 'new_table' plus the</font>
<font color="#000000">KH> column 'new_column'.</font>

<font color="#000000">yes, but i don't need all colums, i need only the same data type for only</font>
<font color="#000000">some fields.</font>

<font color="#000000">for example</font>
<font color="#000000">create table new table</font>
<font color="#000000">(</font>
<font color="#000000"> name other_table.name%TYPE,</font>
<font color="#000000"> mynewfield VARCHAR(100),</font>
<font color="#000000"> mynewfield2 VARCHAR(100)</font>
<font color="#000000">);</font>

</pre></blockquote> Have you tried restructuring the table with CREATE TABLE AS...? Try this:<br /><br /> CREATE TABLE
new_table<br/>      (id, mynewfield, mynewfield2)<br />      AS SELECT id FROM old_table);<br /><br /> This should
createa new table ('new_table') with the data-type for 'old_table' for the id column.  

pgsql-sql by date:

Previous
From: Tom Lane
Date:
Subject: Re: create table and data types
Next
From: "Bath, David"
Date:
Subject: Re: create table and data types