--Bonjour,
--Jaime extraire les colonnes des clés secondaires de ma base.
--La requête suivante repond à mon besoin:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
use my_database
SELECT 
    f.name AS foreign_key_name
   ,OBJECT_NAME(f.parent_object_id) AS table_name
   ,COL_NAME(fc.parent_object_id, fc.parent_column_id) AS constraint_column_name
   ,OBJECT_NAME (f.referenced_object_id) AS referenced_object
   ,COL_NAME(fc.referenced_object_id, fc.referenced_column_id) AS referenced_column_name
   ,is_disabled
   ,delete_referential_action_desc
   ,update_referential_action_desc
FROM sys.foreign_keys AS f
INNER JOIN sys.foreign_key_columns AS fc
	ON f.object_id = fc.constraint_object_id
--Mais, je ne veux pas utiliser "use my_database
--je fais alors comme suit:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
SELECT 
    f.name AS foreign_key_name
   ,OBJECT_NAME(f.parent_object_id) AS table_name
   ,COL_NAME(fc.parent_object_id, fc.parent_column_id) AS constraint_column_name
   ,OBJECT_NAME (f.referenced_object_id) AS referenced_object
   ,COL_NAME(fc.referenced_object_id, fc.referenced_column_id) AS referenced_column_name
   ,is_disabled
   ,delete_referential_action_desc
   ,update_referential_action_desc
FROM my_database.sys.foreign_keys AS f
INNER JOIN my_database.sys.foreign_key_columns AS fc
	ON f.object_id = fc.constraint_object_id

--mais ça donne pas les résultats souhaités
--le probleme est que cette requête les champs table_name, constraint_column_name, referenced_object
--et referenced_column_name à NULL

--Si quelqun peut m'aider....


---------------------------------------------------------
"Il ne faut demander que les connaisseurs,
et si on l'est, il suffit de se demander."
PMS