SQLForeignKeys

Prototypes

SQLRETURN SQLForeignKeys(SQLHSTMT StatementHandle, SQLCHAR *PKCatalogName, SQLSMALLINT NameLength1, SQLCHAR *PKSchemaName, SQLSMALLINT NameLength2, SQLCHAR *PKTableName, SQLSMALLINT NameLength3, SQLCHAR *FKCatalogName, SQLSMALLINT NameLength4, SQLCHAR *FKSchemaName, SQLSMALLINT NameLength5, SQLCHAR *FKTableName, SQLSMALLINT NameLength6);

Description

Liste les clés étrangères d'une table du dictionnaire en utilisant le handle StatementHandle.

Les paramètres optionnels sont les suivants :

SQLForeignKeys déclenche une requête dont le résultat comporte les principaux champs suivants :

Numéro du champNom du champType du champDescription du champ
3PKTABLE_NAMEVarCharNom de la table mère.
4PKCOLUMN_NAMEVarCharNom de la colonne mère.
7FKTABLE_NAMEVarCharNom de la table fille.
8FKCOLUMN_NAMEVarCharNom de la colonne fille.
9KEY_SEQSmallIntNuméro de la colonne fille.
12FK_NAMEVarCharNom de la contrainte.

Il suffit alors d'appeler SQLBindCol pour récupérer les colonnes désirées et SQLFetch pour lire les enregistrements.

Le résultat est SQL_SUCCESS en cas de succès.

Exemple

#include <windows.h>
#include <sql.h>
#include <sqlext.h>
#include <sqltypes.h>

static SQLHSTMT hOrdre;

...
if (SQLForeignKeys(hOrdre, NULL, 0, NULL, 0, NULL, 0, "MaBase%", SQL_NTS, "MonEspace%", SQL_NTS, "MaTable%")!=SQL_SUCCESS) ...

Voir aussi

SQLPrimaryKeys pour lister les clés primaires d'une table. SQLStatistics pour lister les index d'une table.