Question simple, comment listez-vous la clé primaire d'une table avec T-SQL? Je sais comment obtenir des index sur une table, mais je ne me souviens pas comment obtenir le PK.
sql
sql-server
tsql
swilliams
la source
la source
a
,b
etc
, (dans cet ordre) , alors ma table a une clé primaire composite deabc
?Il est généralement recommandé maintenant d'utiliser les
sys.*
vuesINFORMATION_SCHEMA
dans SQL Server, donc à moins que vous ne prévoyiez de migrer des bases de données, je les utiliserais. Voici comment vous le feriez avec lessys.*
vues:la source
C'est une solution qui utilise uniquement sys -tables.
Il répertorie toutes les clés primaires de la base de données. Il renvoie le schéma, le nom de la table, le nom de la colonne et l' ordre de tri des colonnes correct pour chaque clé primaire.
Si vous souhaitez obtenir la clé primaire d'une table spécifique, vous devez filtrer sur
SchemaName
etTableName
.IMHO, cette solution est très générique et n'utilise aucune chaîne littérale, elle fonctionnera donc sur n'importe quelle machine.
la source
Voici une autre façon de la question obtenir la clé primaire de la table à l'aide d'une requête SQL :
Il utilise
KEY_COLUMN_USAGE
pour déterminer les contraintes pour une table donnéePuis utilise pour déterminer si chacune est une clé primaire
OBJECTPROPERTY(id, 'IsPrimaryKey')
la source
J'aime la technique INFORMATION_SCHEMA, mais une autre que j'ai utilisée est: exec sp_pkeys 'table'
la source
Utilise MS SQL Server, vous pouvez effectuer les opérations suivantes:
Vous pouvez également filtrer sur la colonne table_name si vous souhaitez une table spécifique.
la source
- Ceci est une autre version modifiée qui est également un exemple de requête co-associée
la source
Cela devrait lister toutes les contraintes (clé primaire et clés étrangères) et à la fin de la requête mettre le nom de la table
Pour référence, veuillez lire sur - http://blogs.msdn.com/b/sqltips/archive/2005/09/16/469136.aspx
la source
la source
Merci Guy.
Avec une légère variation, je l'ai utilisé pour trouver toutes les clés primaires de toutes les tables.
la source
la source
Celui-ci vous donne les colonnes qui sont PK.
la source
La procédure stockée système
sp_help
vous donnera les informations. Exécutez l'instruction suivante:la source
La requête ci-dessous répertorie les clés primaires d' une table particulière :
la source
Je raconte une technique simple que je suis
exécutez ce code en tant que requête. Mentionnez le nom de votre table à la place du nom_table pour lequel vous voulez connaître la clé primaire (n'oubliez pas les guillemets simples). Le résultat s'affichera comme l'image ci-jointe. J'espère que cela vous aidera
la source
Pour une liste séparée par des virgules de colonnes de clé primaire pour un TableName et un schéma donnés:
la source
Essayez ceci:
la source
Cette version affiche le schéma, le nom de la table et une liste ordonnée et séparée par des virgules de clés primaires. Object_Id () ne fonctionne pas pour les serveurs de liens, nous filtrons donc par le nom de la table.
Sans le REPLACE (Si1.Column_Name, ``, ''), il afficherait les balises xml d'ouverture et de fermeture pour Column_Name sur la base de données sur laquelle je testais. Je ne sais pas pourquoi la base de données a nécessité un remplacement pour «Column_Name», donc si quelqu'un sait, veuillez commenter.
Et le même modèle en utilisant la requête de George:
la source
J'ai trouvé cela utile, donne une liste de tables avec une liste séparée par des virgules des colonnes, puis une liste séparée par des virgules dont celles sont la clé primaire
la source
la source
Puis-je suggérer une réponse simple plus précise à la question initiale ci-dessous
Remarques:
la source
Peut-être publié récemment, mais j'espère que cela aidera quelqu'un à voir la liste des clés primaires sur le serveur SQL en utilisant cette requête t-sql:
Vous pouvez voir la liste de toutes les clés étrangères en utilisant cette requête si vous le souhaitez:
la source
J'ai trouvé cela de mon ami, très efficace si vous recherchez toutes les clés primaires de la table sous un schéma particulier.
la source
Si vous cherchez à faire votre propre ORM ou à générer du code à partir d'une table donnée, alors c'est peut-être ce que vous recherchez:
Voici à quoi ressemblerait le résultat:
la source
Si la clé primaire et le type sont nécessaires, cette requête peut être utile:
la source