Double Possible:
Comment avez-vous liste la clé primaire d'une table SQL Server?Je veux obtenir un particulier de la table de clé primaire à l'aide de requêtes SQL pour SQL Server base de données.
Dans MySQL , je suis en utilisant la requête suivante pour obtenir la table de clé primaire:
SHOW KEYS FROM tablename WHERE Key_name = 'PRIMARY'
Quel est l'équivalent de la requête ci-dessus pour SQL Server ?.
Si Il y a une question qui va travailler pour MySQL et SQL Server , puis Il sera un cas idéal.
Merci
Cette question a déjà des réponses:
Réponses
Trop de publicités?
Awan
Points
2985
Trouvé un autre:
SELECT KU.table_name as tablename,column_name as primarykeycolumn
FROM INFORMATION_SCHEMA.TABLE_CONSTRAINTS AS TC
INNER JOIN
INFORMATION_SCHEMA.KEY_COLUMN_USAGE AS KU
ON TC.CONSTRAINT_TYPE = 'PRIMARY KEY' AND
TC.CONSTRAINT_NAME = KU.CONSTRAINT_NAME
and ku.table_name='yourTableName'
ORDER BY KU.TABLE_NAME, KU.ORDINAL_POSITION;
J'ai testé cela sur SQL Server 2003/2005
astander
Points
83138
À l'aide de SQL SERVER 2005, vous pouvez essayer
SELECT i.name AS IndexName,
OBJECT_NAME(ic.OBJECT_ID) AS TableName,
COL_NAME(ic.OBJECT_ID,ic.column_id) AS ColumnName
FROM sys.indexes AS i INNER JOIN
sys.index_columns AS ic ON i.OBJECT_ID = ic.OBJECT_ID
AND i.index_id = ic.index_id
WHERE i.is_primary_key = 1
Trouvé à SQL SERVER 2005 – Trouver des Tables Avec Contrainte de Clé Primaire dans la Base de données
InSane
Points
7832
De mémoire, c'est ce
SELECT * FROM sys.objects
WHERE type = 'PK'
AND object_id = OBJECT_ID ('tableName')
ou cela..
SELECT * FROM sys.objects
WHERE type = 'PK'
AND parent_object_id = OBJECT_ID ('tableName')
Je pense que l'un d'entre eux doit probablement travailler en fonction de la façon dont les données sont stockées mais j'ai peur je n'ai pas accès à SQL effectivement vérifier la même.
Harendra
Points
201