Difference between revisions of "FOREIGN KEY Table Constraint"
m (Text replace - "Recital" to "Lianja") |
Helen.george (Talk | contribs) |
||
Line 1: | Line 1: | ||
==Purpose== | ==Purpose== | ||
Table constraint to define a Foreign Key | Table constraint to define a Foreign Key | ||
− | |||
==Syntax== | ==Syntax== | ||
Line 7: | Line 6: | ||
[REFERENCES <cTableName> [TAG <cTagName2>]] | [REFERENCES <cTableName> [TAG <cTagName2>]] | ||
− | |||
==See Also== | ==See Also== | ||
[[ALTER TABLE]], [[SQL Constraints|CONSTRAINTS]], [[CREATE TABLE]] | [[ALTER TABLE]], [[SQL Constraints|CONSTRAINTS]], [[CREATE TABLE]] | ||
− | |||
==Description== | ==Description== | ||
Line 23: | Line 20: | ||
The name of the referenced table is specified in <cTableName>. The index tag to reference is specified in <cTagName2>. If the optional TAG <cTagName2> clause is omitted, the primary index key of <cTableName> is used. If <cTableName> has no index tags, an error is generated. | The name of the referenced table is specified in <cTableName>. The index tag to reference is specified in <cTagName2>. If the optional TAG <cTagName2> clause is omitted, the primary index key of <cTableName> is used. If <cTableName> has no index tags, an error is generated. | ||
− | |||
==Example== | ==Example== | ||
Line 35: | Line 31: | ||
ADD FOREIGN KEY SuppID TAG SuppId REFERENCES supplier | ADD FOREIGN KEY SuppID TAG SuppId REFERENCES supplier | ||
</code> | </code> | ||
− | |||
==Products== | ==Products== |
Revision as of 10:18, 11 December 2012
Purpose
Table constraint to define a Foreign Key
Syntax
FOREIGN KEY <expr> TAG <cTagName> [COLLATE <cCollateSequence>]
[REFERENCES <cTableName> [TAG <cTagName2>]]
See Also
ALTER TABLE, CONSTRAINTS, CREATE TABLE
Description
A constraint is used to define rules that help to provide data integrity. TABLE constraints apply to table-based operations. You must have ALTER privilege on the table. The table will be locked for EXCLUSIVE use during the operation.
The FOREIGN KEY table constraint is used to define <expr> as a Foreign Key for a parent table. The <expr> can contain any valid index key. A tag index is built on the specified <expr>; it is given the name as defined in <cTagName>. A table may have more than one Foreign Key index.
The optional COLLATE <cCollateSequence> clause is included for Visual FoxPro language compatibility only.
The optional REFERENCES clause is used to create a relationship to an index key of another table. The value of the <expr> is validated by checking that it already exists as a value in the referenced index key.
The name of the referenced table is specified in <cTableName>. The index tag to reference is specified in <cTagName2>. If the optional TAG <cTagName2> clause is omitted, the primary index key of <cTableName> is used. If <cTableName> has no index tags, an error is generated.
Example
CREATE TABLE supplier; (SuppId i PRIMARY KEY, SuppName c(40) UNIQUE) CREATE TABLE purchase_order; (POid i PRIMARY KEY, SuppId i, POtotal n(10,2)) ALTER TABLE purchase_order; ADD FOREIGN KEY SuppID TAG SuppId REFERENCES supplier
Products
Lianja, Lianja Server