Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Identifier les clés primaires d'une table

3 réponses
Avatar
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

3 réponses

Avatar
Gilbert Tordeur
"Gilbert Tordeur" a écrit dans le message de news:
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'
Avatar
Fred BROUARD
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 *************************
Avatar
Gilbert Tordeur
Merci,
Gilbert

"Fred BROUARD" a écrit dans le message de news:
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 *************************