[SQL] query voor een lijst met columns incl foreignkeys

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

  • Ranja3000
  • Registratie: Juli 2009
  • Laatst online: 10:09
Hallo,


Doormiddel van een query wil ik graag een lijst hebben met alle columns én foreignkeys van een database.

Het is gelukt om een lijst te krijgen met alle columns zonder foreignkeys doormiddel van de volgende query:

SQL:
1
2
3
SELECT TABLE_NAME,COLUMN_NAME,ORDINAL_POSITION
FROM INFORMATION_SCHEMA.COLUMNS
ORDER BY TABLE_NAME, ORDINAL_POSITION ASC



Via google heb ik een query gevonden voor alle foreignkeys:
SQL:
1
2
3
4
5
6
7
8
9
10
11
12
SELECT
tblALL.table_name AS PrimaryTableName,
tblAll.column_name AS PrimaryTableColumn,
tblFK.table_name AS ForeignKeyTable,
tblFK.column_name AS ForeignKeyColumn
FROM INFORMATION_SCHEMA.constraint_column_usage tblall
 
INNER JOIN information_schema.referential_constraints tblAllFK ON
tblAllFK.unique_constraint_name = tblAll.constraint_name
 
INNER JOIN information_schema.constraint_column_usage tblFK ON
tblAllFK.constraint_name=tblFK.constraint_name


Graag zou ik deze twee querys willen combineren waardoor ik één lijst heb met alle columns en foreignkeys.

Ik hoop dat iemand kan helpen. Alvast dank!

Acties:
  • 0 Henk 'm!

  • CoolGamer
  • Registratie: Mei 2005
  • Laatst online: 06-09 16:59

CoolGamer

What is it? Dragons?

Zoiets:
SQL:
1
2
3
4
5
6
7
8
9
10
11
12
13
SELECT c.TABLE_NAME, c.COLUMN_NAME, c.ORDINAL_POSITION, tblFK.table_name, tblFK.column_name
FROM INFORMATION_SCHEMA.COLUMNS c

LEFT JOIN INFORMATION_SCHEMA.constraint_column_usage tblall ON
c.table_name = tblall.table_name AND c.column_name = tblall.column_name

LEFT JOIN information_schema.referential_constraints tblAllFK ON
tblAllFK.unique_constraint_name = tblAll.constraint_name
 
LEFT JOIN information_schema.constraint_column_usage tblFK ON
tblAllFK.constraint_name=tblFK.constraint_name

ORDER BY c.TABLE_NAME, c.ORDINAL_POSITION ASC

Niet getest.

Maar als je even verdiept in joins kan je het in de toekomst wellicht zelf.

¸.·´¯`·.¸.·´¯`·.¸><(((º>¸.·´¯`·.¸><(((º>¸.·´¯`·.¸.·´¯`·.¸.·´¯`·.¸<º)))><¸.·´¯`·.¸.·´¯`·.¸.·´¯`·.¸