odbc_foreignkeys

Retrieves a list of foreign keys

&reftitle.description; ``resource``false```odbc_foreignkeys` `resource` `odbc` ``string``null```pk_catalog` `string` `pk_schema` `string` `pk_table` `string` `fk_catalog` `string` `fk_schema` `string` `fk_table`

Retrieves a list of foreign keys in the specified table or a list of foreign keys in other tables that refer to the primary key in the specified table

&reftitle.parameters;

`odbc`

- &odbc.connection.id;

`pk_catalog`

- The catalog ('qualifier' in ODBC 2 parlance) of the primary key table.

`pk_schema`

- The schema ('owner' in ODBC 2 parlance) of the primary key table.

`pk_table`

- The primary key table.

`fk_catalog`

- The catalog ('qualifier' in ODBC 2 parlance) of the foreign key table.

`fk_schema`

- The schema ('owner' in ODBC 2 parlance) of the foreign key table.

`fk_table`

- The foreign key table.

&reftitle.returnvalues;

Returns an ODBC result identifier&return.falseforfailure;.

The result set has the following columns:

- `PKTABLE_CAT`

- `PKTABLE_SCHEM`

- `PKTABLE_NAME`

- `PKCOLUMN_NAME`

- `FKTABLE_CAT`

- `FKTABLE_SCHEM`

- `FKTABLE_NAME`

- `FKCOLUMN_NAME`

- `KEY_SEQ`

- `UPDATE_RULE`

- `DELETE_RULE`

- `FK_NAME`

- `PK_NAME`

- `DEFERRABILITY`

&odbc.result.driver-specific;

If the foreign keys associated with a primary key are requested, the result set is ordered by `FKTABLE_CAT`, `FKTABLE_SCHEM`, `FKTABLE_NAME` and `KEY_SEQ`. If the primary keys associated with a foreign key are requested, the result set is ordered by `PKTABLE_CAT`, `PKTABLE_SCHEM`, `PKTABLE_NAME` and `KEY_SEQ`.

If `pk_table` contains a table name, `odbc_foreignkeys` returns a result set containing the primary key of the specified table and all of the foreign keys that refer to it.

If `fk_table` contains a table name, `odbc_foreignkeys` returns a result set containing all of the foreign keys in the specified table and the primary keys (in other tables) to which they refer.

If both `pk_table` and `fk_table` contain table names, `odbc_foreignkeys` returns the foreign keys in the table specified in `fk_table` that refer to the primary key of the table specified in `pk_table`. This should be one key at most.

&reftitle.seealso;

- `odbc_tables`
- `odbc_primarykeys`