odbc_foreignkeys

Retrieves a list of foreign keys

Description

resourcefalse odbc_foreignkeys(
    resource $odbc,
    stringnull $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

Parameters

odbc

The ODBC connection identifier, see odbc_connect for details.

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.

Return Values

Returns an ODBC result identifier or false on failure.

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
Drivers can report additional columns.

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.

See Also

  • odbc_tables
  • odbc_primarykeys