Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Christian Robert
Bonjour,
Avec cette requête :
SELECT cst.name AS nompk, obj.name as nomtable, col.name as nomchamp, col.status FROM sysobjects AS cst JOIN sysindexes AS idx ON cst.name = idx.name JOIN sysindexkeys AS idk ON idx.indid = idk.indid AND idk.id = idx.id JOIN sysobjects AS obj ON cst.parent_obj = obj.id JOIN syscolumns AS col ON col.colid = idk.colid AND idx.id = col.id WHERE cst.xtype = 'PK' ORDER BY cst.name, idk.keyno
On obtient le nom de la clef (premier champ), le nom de la table (deuxième champ), le nom du ou des champs de la clef (troisième champ) et le status du champ (quatrième champ) qui vaut 128 si celui-ci est identity (auto-incrémentée).
Ne pas oublier que la clef peut être composite, c'est à dire comporté plusieurs champs, c'est pour cela que cette requête est si complexe.
-- Cordialement, Christian Robert http://blogs.developpeur.org/christian/ MCT - Database Development / Database Administration
"Christian" a écrit :
bonjour, existe t'il un moyen de savoir quelle la cle primaire d'une table et si celle ci est auto incrémentée
merci
Bonjour,
Avec cette requête :
SELECT cst.name AS nompk, obj.name as nomtable, col.name as nomchamp,
col.status
FROM sysobjects AS cst
JOIN sysindexes AS idx ON cst.name = idx.name
JOIN sysindexkeys AS idk ON idx.indid = idk.indid AND idk.id = idx.id
JOIN sysobjects AS obj ON cst.parent_obj = obj.id
JOIN syscolumns AS col ON col.colid = idk.colid AND idx.id = col.id
WHERE cst.xtype = 'PK'
ORDER BY cst.name, idk.keyno
On obtient le nom de la clef (premier champ), le nom de la table (deuxième
champ), le nom du ou des champs de la clef (troisième champ) et le status du
champ (quatrième champ) qui vaut 128 si celui-ci est identity
(auto-incrémentée).
Ne pas oublier que la clef peut être composite, c'est à dire comporté
plusieurs champs, c'est pour cela que cette requête est si complexe.
--
Cordialement,
Christian Robert http://blogs.developpeur.org/christian/
MCT - Database Development / Database Administration
"Christian" a écrit :
bonjour,
existe t'il un moyen de savoir quelle la cle primaire d'une table et si
celle ci est auto incrémentée
SELECT cst.name AS nompk, obj.name as nomtable, col.name as nomchamp, col.status FROM sysobjects AS cst JOIN sysindexes AS idx ON cst.name = idx.name JOIN sysindexkeys AS idk ON idx.indid = idk.indid AND idk.id = idx.id JOIN sysobjects AS obj ON cst.parent_obj = obj.id JOIN syscolumns AS col ON col.colid = idk.colid AND idx.id = col.id WHERE cst.xtype = 'PK' ORDER BY cst.name, idk.keyno
On obtient le nom de la clef (premier champ), le nom de la table (deuxième champ), le nom du ou des champs de la clef (troisième champ) et le status du champ (quatrième champ) qui vaut 128 si celui-ci est identity (auto-incrémentée).
Ne pas oublier que la clef peut être composite, c'est à dire comporté plusieurs champs, c'est pour cela que cette requête est si complexe.
-- Cordialement, Christian Robert http://blogs.developpeur.org/christian/ MCT - Database Development / Database Administration
"Christian" a écrit :
bonjour, existe t'il un moyen de savoir quelle la cle primaire d'une table et si celle ci est auto incrémentée
merci
Med Bouchenafa
sp_primarykeys
-- Bien cordialement Med Bouchenafa "Christian" a écrit dans le message de news:
bonjour, existe t'il un moyen de savoir quelle la cle primaire d'une table et si celle ci est auto incrémentée
merci
sp_primarykeys
--
Bien cordialement
Med Bouchenafa
"Christian" <christian@nospam.fr> a écrit dans le message de news:
O8jS1aasGHA.1196@TK2MSFTNGP04.phx.gbl...
bonjour,
existe t'il un moyen de savoir quelle la cle primaire d'une table et si
celle ci est auto incrémentée
-- Bien cordialement Med Bouchenafa "Christian" a écrit dans le message de news:
bonjour, existe t'il un moyen de savoir quelle la cle primaire d'une table et si celle ci est auto incrémentée
merci
Rudi Bruchez
Christian a écrit:
existe t'il un moyen de savoir quelle la cle primaire d'une table et si celle ci est auto incrémentée
Bonjour,
troisième solution :
SELECT c.TABLE_NAME, k.COLUMN_NAME FROM INFORMATION_SCHEMA.TABLE_CONSTRAINTS c JOIN INFORMATION_SCHEMA.KEY_COLUMN_USAGE k ON c.CONSTRAINT_NAME k.CONSTRAINT_NAME WHERE c.CONSTRAINT_TYPE = 'PRIMARY KEY' ORDER BY c.TABLE_NAME, k.COLUMN_NAME
-- Rudi Bruchez Consultant indépendant modélisation, administration, optimisation, Solutions MS SQL Server et informatique libre. MCDBA, SCJP2 http://www.babaluga.com/
Christian a écrit:
existe t'il un moyen de savoir quelle la cle primaire d'une table et si
celle ci est auto incrémentée
Bonjour,
troisième solution :
SELECT c.TABLE_NAME,
k.COLUMN_NAME
FROM INFORMATION_SCHEMA.TABLE_CONSTRAINTS c
JOIN INFORMATION_SCHEMA.KEY_COLUMN_USAGE k ON c.CONSTRAINT_NAME k.CONSTRAINT_NAME
WHERE c.CONSTRAINT_TYPE = 'PRIMARY KEY'
ORDER BY c.TABLE_NAME, k.COLUMN_NAME
--
Rudi Bruchez
Consultant indépendant
modélisation, administration, optimisation,
Solutions MS SQL Server et informatique libre.
MCDBA, SCJP2
http://www.babaluga.com/
existe t'il un moyen de savoir quelle la cle primaire d'une table et si celle ci est auto incrémentée
Bonjour,
troisième solution :
SELECT c.TABLE_NAME, k.COLUMN_NAME FROM INFORMATION_SCHEMA.TABLE_CONSTRAINTS c JOIN INFORMATION_SCHEMA.KEY_COLUMN_USAGE k ON c.CONSTRAINT_NAME k.CONSTRAINT_NAME WHERE c.CONSTRAINT_TYPE = 'PRIMARY KEY' ORDER BY c.TABLE_NAME, k.COLUMN_NAME
-- Rudi Bruchez Consultant indépendant modélisation, administration, optimisation, Solutions MS SQL Server et informatique libre. MCDBA, SCJP2 http://www.babaluga.com/
Chris
Christian a écrit :
bonjour, existe t'il un moyen de savoir quelle la cle primaire d'une table et si celle ci est auto incrémentée
merci
merci de votre aide mais comment faire pour savoir si cette clé est autoincremente mis a part de lire le type_name et si celui est int identity alors c une autoincrementation
merci
Christian a écrit :
bonjour,
existe t'il un moyen de savoir quelle la cle primaire d'une table et si
celle ci est auto incrémentée
merci
merci de votre aide mais comment faire pour savoir si cette clé est
autoincremente mis a part de lire le type_name et si celui est int
identity alors c une autoincrementation
bonjour, existe t'il un moyen de savoir quelle la cle primaire d'une table et si celle ci est auto incrémentée
merci
merci de votre aide mais comment faire pour savoir si cette clé est autoincremente mis a part de lire le type_name et si celui est int identity alors c une autoincrementation
merci
Rudi Bruchez
Chris a écrit:
merci de votre aide mais comment faire pour savoir si cette clé est autoincremente mis a part de lire le type_name et si celui est int identity alors c une autoincrementation
SELECT c.TABLE_NAME, k.COLUMN_NAME, COLUMNPROPERTY(OBJECT_ID(c.TABLE_NAME), k.COLUMN_NAME, 'IsIdentity') as IS_IDENTITY FROM INFORMATION_SCHEMA.TABLE_CONSTRAINTS c JOIN INFORMATION_SCHEMA.KEY_COLUMN_USAGE k ON c.CONSTRAINT_NAME k.CONSTRAINT_NAME WHERE c.CONSTRAINT_TYPE = 'PRIMARY KEY' ORDER BY c.TABLE_NAME, k.COLUMN_NAME
-- Rudi Bruchez Consultant indépendant modélisation, administration, optimisation, Solutions MS SQL Server et informatique libre. MCDBA, SCJP2 http://www.babaluga.com/
Chris a écrit:
merci de votre aide mais comment faire pour savoir si cette clé est
autoincremente mis a part de lire le type_name et si celui est int
identity alors c une autoincrementation
SELECT c.TABLE_NAME,
k.COLUMN_NAME,
COLUMNPROPERTY(OBJECT_ID(c.TABLE_NAME), k.COLUMN_NAME, 'IsIdentity') as
IS_IDENTITY
FROM INFORMATION_SCHEMA.TABLE_CONSTRAINTS c
JOIN INFORMATION_SCHEMA.KEY_COLUMN_USAGE k ON c.CONSTRAINT_NAME k.CONSTRAINT_NAME
WHERE c.CONSTRAINT_TYPE = 'PRIMARY KEY'
ORDER BY c.TABLE_NAME, k.COLUMN_NAME
--
Rudi Bruchez
Consultant indépendant
modélisation, administration, optimisation,
Solutions MS SQL Server et informatique libre.
MCDBA, SCJP2
http://www.babaluga.com/
merci de votre aide mais comment faire pour savoir si cette clé est autoincremente mis a part de lire le type_name et si celui est int identity alors c une autoincrementation
SELECT c.TABLE_NAME, k.COLUMN_NAME, COLUMNPROPERTY(OBJECT_ID(c.TABLE_NAME), k.COLUMN_NAME, 'IsIdentity') as IS_IDENTITY FROM INFORMATION_SCHEMA.TABLE_CONSTRAINTS c JOIN INFORMATION_SCHEMA.KEY_COLUMN_USAGE k ON c.CONSTRAINT_NAME k.CONSTRAINT_NAME WHERE c.CONSTRAINT_TYPE = 'PRIMARY KEY' ORDER BY c.TABLE_NAME, k.COLUMN_NAME
-- Rudi Bruchez Consultant indépendant modélisation, administration, optimisation, Solutions MS SQL Server et informatique libre. MCDBA, SCJP2 http://www.babaluga.com/