1
1
<!--
2
- $Header: /cvsroot/pgsql/doc/src/sgml/ref/create_table.sgml,v 1.20 2000/04/11 14:43:54 momjian Exp $
2
+ $Header: /cvsroot/pgsql/doc/src/sgml/ref/create_table.sgml,v 1.21 2000/04/12 04:40:03 thomas Exp $
3
3
Postgres documentation
4
4
-->
5
5
@@ -451,13 +451,13 @@ CREATE TABLE distributors (
451
451
[ CONSTRAINT <replaceable class="parameter">name</replaceable> ] { [
452
452
NULL | NOT NULL ] | UNIQUE | PRIMARY KEY | CHECK <replaceable
453
453
class="parameter">constraint</replaceable> | REFERENCES
454
- <replaceable class="parameter">referenced table </replaceable>
455
- (<replaceable class="parameter">referenced column </replaceable>)
456
- [ MATCH <replaceable class="parameter">match type </replaceable> ]
454
+ <replaceable class="parameter">reftable </replaceable>
455
+ (<replaceable class="parameter">refcolumn </replaceable>)
456
+ [ MATCH <replaceable class="parameter">matchtype </replaceable> ]
457
457
[ ON DELETE <replaceable class="parameter">action</replaceable> ]
458
458
[ ON UPDATE <replaceable class="parameter">action</replaceable> ]
459
459
[ [ NOT ] DEFERRABLE ]
460
- [ INITIALLY <replaceable class="parameter"> check time </replaceable> ] }
460
+ [ INITIALLY <replaceable class="parameter">checktime </replaceable> ] }
461
461
[, ...]
462
462
</synopsis>
463
463
</para>
@@ -938,12 +938,12 @@ ERROR: Cannot insert a duplicate key into a unique index.
938
938
</title>
939
939
<synopsis>
940
940
[ CONSTRAINT <replaceable class="parameter">name</replaceable> ] REFERENCES
941
- <replaceable class="parameter">referenced table </replaceable> [ ( <replaceable class="parameter"> referenced column </replaceable> ) ]
941
+ <replaceable class="parameter">reftable </replaceable> [ ( <replaceable class="parameter">refcolumn </replaceable> ) ]
942
942
[ MATCH <replaceable class="parameter">matchtype</replaceable> ]
943
943
[ ON DELETE <replaceable class="parameter">action</replaceable> ]
944
944
[ ON UPDATE <replaceable class="parameter">action</replaceable> ]
945
945
[ [ NOT ] DEFERRABLE ]
946
- [ INITIALLY <replaceable class="parameter"> check time </replaceable> ]
946
+ [ INITIALLY <replaceable class="parameter">checktime </replaceable> ]
947
947
</synopsis>
948
948
<para>
949
949
The REFERENCES constraint specifies a rule that a column
@@ -954,6 +954,7 @@ ERROR: Cannot insert a duplicate key into a unique index.
954
954
955
955
<refsect3 id="R3-SQL-REFERENCES-1">
956
956
<title>Inputs</title>
957
+
957
958
<para>
958
959
<variablelist>
959
960
<varlistentry>
@@ -964,21 +965,23 @@ ERROR: Cannot insert a duplicate key into a unique index.
964
965
</para>
965
966
</listitem>
966
967
</varlistentry>
968
+
967
969
<varlistentry>
968
- <term><replaceable class="parameter">referenced table </replaceable></term>
970
+ <term><replaceable class="parameter">reftable </replaceable></term>
969
971
<listitem>
970
972
<para>
971
973
The table that contains the data to check against.
972
974
</para>
973
975
</listitem>
974
976
</varlistentry>
977
+
975
978
<varlistentry>
976
- <term><replaceable class="parameter">referenced column </replaceable></term>
979
+ <term><replaceable class="parameter">refcolumn </replaceable></term>
977
980
<listitem>
978
981
<para>
979
- The column in the <replaceable class="parameter">referenced table </replaceable>
982
+ The column in <replaceable class="parameter">reftable </replaceable>
980
983
to check the data against. If this is not specified, the PRIMARY KEY of the
981
- <replaceable class="parameter">referenced table </replaceable> is used.
984
+ <replaceable class="parameter">reftable </replaceable> is used.
982
985
</para>
983
986
</listitem>
984
987
</varlistentry>
@@ -1096,6 +1099,7 @@ ERROR: Cannot insert a duplicate key into a unique index.
1096
1099
</para>
1097
1100
</listitem>
1098
1101
</varlistentry>
1102
+
1099
1103
<varlistentry>
1100
1104
<term> [ NOT ] DEFERRABLE </term>
1101
1105
<listitem>
@@ -1105,25 +1109,32 @@ ERROR: Cannot insert a duplicate key into a unique index.
1105
1109
</para>
1106
1110
</listitem>
1107
1111
</varlistentry>
1112
+
1108
1113
<varlistentry>
1109
- <term>INITIALLY <replaceable class="parameter"> check time </replaceable></term>
1114
+ <term>INITIALLY <replaceable class="parameter">checktime </replaceable></term>
1110
1115
<listitem>
1111
1116
<para>
1112
- <replaceable class="parameter">check time </replaceable> has two possible values
1117
+ <replaceable class="parameter">checktime </replaceable> has two possible values
1113
1118
which specify the default time to check the constraint.
1119
+
1114
1120
<variablelist>
1115
1121
<varlistentry>
1116
1122
<term>DEFERRED</term>
1117
- <para>
1118
- Check this constraint at the end of the transaction.
1119
- </para>
1123
+ <listitem>
1124
+ <para>
1125
+ Check this constraint at the end of the transaction.
1126
+ </para>
1127
+ </listitem>
1120
1128
</varlistentry>
1129
+
1121
1130
<varlistentry>
1122
1131
<term>IMMEDIATE</term>
1123
- <para>
1124
- Check this constraint after each statement.
1125
- </para>
1126
- </varlistentry>
1132
+ <listitem>
1133
+ <para>
1134
+ Check this constraint after each statement.
1135
+ </para>
1136
+ </listitem>
1137
+ </varlistentry>
1127
1138
</variablelist>
1128
1139
</para>
1129
1140
</listitem>
@@ -1150,7 +1161,7 @@ ERROR: Cannot insert a duplicate key into a unique index.
1150
1161
<varlistentry>
1151
1162
<term><computeroutput>
1152
1163
ERROR: <replaceable class="parameter">name</replaceable> referential integrity violation - key referenced from
1153
- <replaceable class="parameter">table</replaceable> not found in <replaceable class="parameter">referenced table </replaceable>
1164
+ <replaceable class="parameter">table</replaceable> not found in <replaceable class="parameter">reftable </replaceable>
1154
1165
</computeroutput></term>
1155
1166
<listitem>
1156
1167
<para>
@@ -1193,13 +1204,14 @@ ERROR: <replaceable class="parameter">name</replaceable> referential integrity
1193
1204
</title>
1194
1205
<para>
1195
1206
Currently <productname>Postgres</productname> only supports
1196
- MATCH FULL and an unspecified MATCH type.
1207
+ MATCH FULL and an unspecified match type.
1197
1208
In addition, the referenced columns are supposed to be
1198
1209
the columns of a UNIQUE constraint in the referenced table,
1199
1210
however <productname>Postgres</productname> does not
1200
1211
enforce this.
1201
1212
</para>
1202
1213
</refsect3>
1214
+ </refsect2>
1203
1215
</refsect1>
1204
1216
1205
1217
<refsect1 id="R1-SQL-TABLECONSTRAINT-1">
@@ -1211,13 +1223,13 @@ ERROR: <replaceable class="parameter">name</replaceable> referential integrity
1211
1223
[ CONSTRAINT name ] { PRIMARY KEY | UNIQUE } ( <replaceable class="parameter">column</replaceable> [, ...] )
1212
1224
[ CONSTRAINT name ] CHECK ( <replaceable>constraint</replaceable> )
1213
1225
[ CONSTRAINT name ] FOREIGN KEY ( <replaceable class="parameter">column</replaceable> [, ...] )
1214
- REFERENCES <replaceable class="parameter">referenced table </replaceable>
1215
- (<replaceable class="parameter">referenced column </replaceable> [, ...] )
1216
- [ MATCH <match type > ]
1226
+ REFERENCES <replaceable class="parameter">reftable </replaceable>
1227
+ (<replaceable class="parameter">refcolumn </replaceable> [, ...] )
1228
+ [ MATCH <replaceable class="parameter">matchtype</replaceable > ]
1217
1229
[ ON DELETE <replaceable class="parameter">action</replaceable> ]
1218
1230
[ ON UPDATE <replaceable class="parameter">action</replaceable> ]
1219
1231
[ [ NOT ] DEFERRABLE ]
1220
- [ INITIALLY <replaceable class="parameter"> check time </replaceable> ]
1232
+ [ INITIALLY <replaceable class="parameter">checktime </replaceable> ]
1221
1233
</synopsis>
1222
1234
</para>
1223
1235
<refsect2 id="R2-SQL-TABLECONSTRAINT-1">
@@ -1464,7 +1476,7 @@ CREATE TABLE distributors (
1464
1476
</refsect3>
1465
1477
</refsect2>
1466
1478
1467
- <refsect2 id="R2-SQL-REFERENCES-1 ">
1479
+ <refsect2 id="R2-SQL-REFERENCES-2 ">
1468
1480
<refsect2info>
1469
1481
<date>2000-02-04</date>
1470
1482
</refsect2info>
@@ -1474,12 +1486,12 @@ CREATE TABLE distributors (
1474
1486
<synopsis>
1475
1487
[ CONSTRAINT <replaceable class="parameter">name</replaceable> ]
1476
1488
FOREIGN KEY ( <replaceable class="parameter">column</replaceable> [, ...] ) REFERENCES
1477
- <replaceable class="parameter">referenced table </replaceable> [ ( <replaceable class="parameter">referenced column </replaceable> [, ...] ) ]
1489
+ <replaceable class="parameter">reftable </replaceable> [ ( <replaceable class="parameter">refcolumn </replaceable> [, ...] ) ]
1478
1490
[ MATCH <replaceable class="parameter">matchtype</replaceable> ]
1479
1491
[ ON DELETE <replaceable class="parameter">action</replaceable> ]
1480
1492
[ ON UPDATE <replaceable class="parameter">action</replaceable> ]
1481
1493
[ [ NOT ] DEFERRABLE ]
1482
- [ INITIALLY <replaceable class="parameter"> check time </replaceable> ]
1494
+ [ INITIALLY <replaceable class="parameter">checktime </replaceable> ]
1483
1495
</synopsis>
1484
1496
<para>
1485
1497
The REFERENCES constraint specifies a rule that a column
@@ -1488,7 +1500,7 @@ FOREIGN KEY ( <replaceable class="parameter">column</replaceable> [, ...] ) REFE
1488
1500
a FOREIGN KEY table constraint.
1489
1501
</para>
1490
1502
1491
- <refsect3 id="R3-SQL-REFERENCES-1 ">
1503
+ <refsect3 id="R3-SQL-REFERENCES-5 ">
1492
1504
<title>Inputs</title>
1493
1505
<para>
1494
1506
<variablelist>
@@ -1509,7 +1521,7 @@ FOREIGN KEY ( <replaceable class="parameter">column</replaceable> [, ...] ) REFE
1509
1521
</listitem>
1510
1522
</varlistentry>
1511
1523
<varlistentry>
1512
- <term><replaceable class="parameter">referenced table </replaceable></term>
1524
+ <term><replaceable class="parameter">reftable </replaceable></term>
1513
1525
<listitem>
1514
1526
<para>
1515
1527
The table that contains the data to check against.
@@ -1520,9 +1532,9 @@ FOREIGN KEY ( <replaceable class="parameter">column</replaceable> [, ...] ) REFE
1520
1532
<term><replaceable class="parameter">referenced column</replaceable> [, ...]</term>
1521
1533
<listitem>
1522
1534
<para>
1523
- One or more column in the <replaceable class="parameter">referenced table </replaceable>
1535
+ One or more column in the <replaceable class="parameter">reftable </replaceable>
1524
1536
to check the data against. If this is not specified, the PRIMARY KEY of the
1525
- <replaceable class="parameter">referenced table </replaceable> is used.
1537
+ <replaceable class="parameter">reftable </replaceable> is used.
1526
1538
</para>
1527
1539
</listitem>
1528
1540
</varlistentry>
@@ -1650,23 +1662,27 @@ FOREIGN KEY ( <replaceable class="parameter">column</replaceable> [, ...] ) REFE
1650
1662
</listitem>
1651
1663
</varlistentry>
1652
1664
<varlistentry>
1653
- <term>INITIALLY <replaceable class="parameter"> check time </replaceable></term>
1665
+ <term>INITIALLY <replaceable class="parameter">checktime </replaceable></term>
1654
1666
<listitem>
1655
1667
<para>
1656
- <replaceable class="parameter">check time </replaceable> has two possible values
1668
+ <replaceable class="parameter">checktime </replaceable> has two possible values
1657
1669
which specify the default time to check the constraint.
1658
1670
<variablelist>
1659
1671
<varlistentry>
1660
1672
<term>DEFERRED</term>
1661
- <para>
1662
- Check this constraint at the end of the transaction.
1663
- </para>
1673
+ <listitem>
1674
+ <para>
1675
+ Check this constraint at the end of the transaction.
1676
+ </para>
1677
+ </listitem>
1664
1678
</varlistentry>
1665
1679
<varlistentry>
1666
1680
<term>IMMEDIATE</term>
1667
- <para>
1668
- Check this constraint after each statement.
1669
- </para>
1681
+ <listitem>
1682
+ <para>
1683
+ Check this constraint after each statement.
1684
+ </para>
1685
+ </listitem>
1670
1686
</varlistentry>
1671
1687
</variablelist>
1672
1688
</para>
@@ -1675,7 +1691,7 @@ FOREIGN KEY ( <replaceable class="parameter">column</replaceable> [, ...] ) REFE
1675
1691
</variablelist>
1676
1692
</para>
1677
1693
</refsect3>
1678
- <refsect3 id="R3-SQL-REFERENCES-2 ">
1694
+ <refsect3 id="R3-SQL-REFERENCES-6 ">
1679
1695
<refsect3info>
1680
1696
<date>2000-02-04</date>
1681
1697
</refsect3info>
@@ -1692,7 +1708,7 @@ FOREIGN KEY ( <replaceable class="parameter">column</replaceable> [, ...] ) REFE
1692
1708
<varlistentry>
1693
1709
<term><computeroutput>
1694
1710
ERROR: <replaceable class="parameter">name</replaceable> referential integrity violation - key referenced from
1695
- <replaceable class="parameter">table</replaceable> not found in <replaceable class="parameter">referenced table </replaceable>
1711
+ <replaceable class="parameter">table</replaceable> not found in <replaceable class="parameter">reftable </replaceable>
1696
1712
</computeroutput></term>
1697
1713
<listitem>
1698
1714
<para>
0 commit comments