Clean up rather poor description of the difference between INHERITS and
LIKE. Per gripe from Patrick Samson.
This commit is contained in:
parent
d81cd7032e
commit
3b7ca96c2c
@ -1,5 +1,5 @@
|
||||
<!--
|
||||
$PostgreSQL: pgsql/doc/src/sgml/ref/create_table.sgml,v 1.79 2004/03/09 16:57:47 neilc Exp $
|
||||
$PostgreSQL: pgsql/doc/src/sgml/ref/create_table.sgml,v 1.80 2004/03/22 16:18:50 tgl Exp $
|
||||
PostgreSQL documentation
|
||||
-->
|
||||
|
||||
@ -185,18 +185,20 @@ and <replaceable class="PARAMETER">table_constraint</replaceable> is:
|
||||
<listitem>
|
||||
<para>
|
||||
The <literal>LIKE</literal> clause specifies a table from which
|
||||
the new table automatically inherits all column names, their data types, and
|
||||
not-null constraints.
|
||||
the new table automatically copies all column names, their data types,
|
||||
and their not-null constraints.
|
||||
</para>
|
||||
<para>
|
||||
Unlike <literal>INHERITS</literal>, the new table and inherited table
|
||||
are complete decoupled after creation has been completed. Data inserted
|
||||
into the new table will not be reflected into the parent table.
|
||||
Unlike <literal>INHERITS</literal>, the new table and original table
|
||||
are completely decoupled after creation is complete. Changes to the
|
||||
original table will not be applied to the new table, and it is not
|
||||
possible to include data of the new table in scans of the original
|
||||
table.
|
||||
</para>
|
||||
<para>
|
||||
Default expressions for the inherited column definitions will only be included if
|
||||
<literal>INCLUDING DEFAULTS</literal> is specified. The default is to exclude
|
||||
default expressions.
|
||||
Default expressions for the copied column definitions will only be
|
||||
included if <literal>INCLUDING DEFAULTS</literal> is specified. The
|
||||
default is to exclude default expressions.
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
@ -207,12 +209,24 @@ and <replaceable class="PARAMETER">table_constraint</replaceable> is:
|
||||
<para>
|
||||
The optional <literal>INHERITS</> clause specifies a list of
|
||||
tables from which the new table automatically inherits all
|
||||
columns. If the same column name exists in more than one parent
|
||||
columns.
|
||||
</para>
|
||||
|
||||
<para>
|
||||
Use of <literal>INHERITS</> creates a persistent relationship
|
||||
between the new child table and its parent table(s). Schema
|
||||
modifications to the parent(s) normally propagate to children
|
||||
as well, and by default the data of the child table is included in
|
||||
scans of the parent(s).
|
||||
</para>
|
||||
|
||||
<para>
|
||||
If the same column name exists in more than one parent
|
||||
table, an error is reported unless the data types of the columns
|
||||
match in each of the parent tables. If there is no conflict,
|
||||
then the duplicate columns are merged to form a single column in
|
||||
the new table. If the column name list of the new table
|
||||
contains a column that is also inherited, the data type must
|
||||
contains a column name that is also inherited, the data type must
|
||||
likewise match the inherited column(s), and the column
|
||||
definitions are merged into one. However, inherited and new
|
||||
column declarations of the same name need not specify identical
|
||||
|
Loading…
Reference in New Issue
Block a user