Identifier les clés primaires d'une table

Le
Gilbert Tordeur
Bonjour.
En SQL 2000, quelle requête puis-je écrire sur les tables système pour
récupérer le nom de la (des) colonne constituant la clé primaire d'une table
donnée ? Je ne sais pas si la réponse se trouve dans sysconstraints mais
j'ai du mal à comprendre les codes de sa colonne status.
Pour info, la programmation est en VB2005.
Merci d'avance.
Gilbert
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Gilbert Tordeur
Le #11867911
"Gilbert Tordeur" eLa%
Bonjour.
En SQL 2000, quelle requête puis-je écrire sur les tables système pour
récupérer le nom de la (des) colonne constituant la clé primaire d'une
table donnée ? Je ne sais pas si la réponse se trouve dans sysconstraints
mais j'ai du mal à comprendre les codes de sa colonne status.
Pour info, la programmation est en VB2005.
Merci d'avance.
Gilbert



J'ai fini par trouver : EXEC sp_pkeys @table_name='breve'
Fred BROUARD
Le #11867681
Gilbert Tordeur a écrit :
Bonjour.
En SQL 2000, quelle requête puis-je écrire sur les tables système pour
récupérer le nom de la (des) colonne constituant la clé primaire d'une table
donnée ? Je ne sais pas si la réponse se trouve dans sysconstraints mais
j'ai du mal à comprendre les codes de sa colonne status.
Pour info, la programmation est en VB2005.
Merci d'avance.
Gilbert




mieux vaut ne jamais utiliser les tables systèmes car elles peuvent
changer sans préavis de stucture d'une version à l'autre.

la norme SQL est appliqué ici à travers les vues d'information de schéma :

SELECT TC.CONSTRAINT_SCHEMA, TC.CONSTRAINT_NAME, TC.TABLE_SCHEMA,
TC.TABLE_NAME, KCU.COLUMN_NAME, KCU.ORDINAL_POSITION
FROM INFORMATION_SCHEMA.TABLE_CONSTRAINTS AS TC
INNER JOIN INFORMATION_SCHEMA.KEY_COLUMN_USAGE AS KCU
ON TC.CONSTRAINT_CATALOG = KCU.CONSTRAINT_CATALOG
AND TC.CONSTRAINT_SCHEMA = KCU.CONSTRAINT_SCHEMA
AND TC.CONSTRAINT_NAME = KCU.CONSTRAINT_NAME
WHERE CONSTRAINT_TYPE = 'PRIMARY KEY'
ORDER BY 1, 2, 3, 4, 5, 6


Pour plus d'information, lisez l'article que j'ai écrit à ce sujet :
http://sqlpro.developpez.com/cours/sqlaz/ddl/?page=partie2#L9

A +

--
Frédéric BROUARD, MVP SQL Server, expert bases de données et langage SQL
Le site sur le langage SQL et les SGBDR : http://sqlpro.developpez.com
Audit, conseil, expertise, formation, modélisation, tuning, optimisation
*********************** http://www.sqlspot.com *************************
Gilbert Tordeur
Le #11866911
Merci,
Gilbert

"Fred BROUARD" OaN$
Gilbert Tordeur a écrit :
Bonjour.
En SQL 2000, quelle requête puis-je écrire sur les tables système pour
récupérer le nom de la (des) colonne constituant la clé primaire d'une
table donnée ? Je ne sais pas si la réponse se trouve dans sysconstraints
mais j'ai du mal à comprendre les codes de sa colonne status.
Pour info, la programmation est en VB2005.
Merci d'avance.
Gilbert


mieux vaut ne jamais utiliser les tables systèmes car elles peuvent
changer sans préavis de stucture d'une version à l'autre.

la norme SQL est appliqué ici à travers les vues d'information de schéma :

SELECT TC.CONSTRAINT_SCHEMA, TC.CONSTRAINT_NAME, TC.TABLE_SCHEMA,
TC.TABLE_NAME, KCU.COLUMN_NAME, KCU.ORDINAL_POSITION
FROM INFORMATION_SCHEMA.TABLE_CONSTRAINTS AS TC
INNER JOIN INFORMATION_SCHEMA.KEY_COLUMN_USAGE AS KCU
ON TC.CONSTRAINT_CATALOG = KCU.CONSTRAINT_CATALOG
AND TC.CONSTRAINT_SCHEMA = KCU.CONSTRAINT_SCHEMA
AND TC.CONSTRAINT_NAME = KCU.CONSTRAINT_NAME
WHERE CONSTRAINT_TYPE = 'PRIMARY KEY'
ORDER BY 1, 2, 3, 4, 5, 6


Pour plus d'information, lisez l'article que j'ai écrit à ce sujet :
http://sqlpro.developpez.com/cours/sqlaz/ddl/?page=partie2#L9

A +

--
Frédéric BROUARD, MVP SQL Server, expert bases de données et langage SQL
Le site sur le langage SQL et les SGBDR : http://sqlpro.developpez.com
Audit, conseil, expertise, formation, modélisation, tuning, optimisation
*********************** http://www.sqlspot.com *************************


Publicité
Poster une réponse
Anonyme