Grazie per il codice...purtroppo però non funziona :-(
al posto di ritornarmi 327 righe me ne ritorna 768...
All'inizio avevo provato così:
SELECT
E.[TableName],
A.[AttributeTypeName],
C.[COLUMN_NAME] AS FieldName,
C.[ORDINAL_POSITION] AS ColumnNo,
CASE C.[IS_NULLABLE]
WHEN 'NO' THEN 0
ELSE 1
END AS IsNullable,
CASE ccu.[COLUMN_NAME]
WHEN C.[COLUMN_NAME] THEN 1
ELSE 0
END AS IsPrimaryKey,
CASE tc.CONSTRAINT_TYPE
WHEN 'FOREIGN KEY' THEN 1
ELSE 0
END AS IsForeignKey
FROM
Traq_03.INFORMATION_SCHEMA.COLUMNS C
INNER JOIN
Traq_03_Base..Meta_Entities E ON C.TABLE_NAME = E.[TableName]
INNER JOIN
Traq_03_Base..Meta_AttributeTypes A ON C.DATA_TYPE =
A.[AttributeTypeName]
INNER JOIN
Traq_03.INFORMATION_SCHEMA.CONSTRAINT_COLUMN_USAGE ccu ON
C.TABLE_NAME = ccu.TABLE_NAME
INNER JOIN
Traq_03.INFORMATION_SCHEMA.TABLE_CONSTRAINTS tc
ON
ccu.CONSTRAINT_NAME = tc.CONSTRAINT_NAME
WHERE
tc.CONSTRAINT_TYPE = 'PRIMARY KEY'
OR
tc.CONSTRAINT_TYPE = 'FOREIGN KEY'
però mi ritornava addirittura 995 righe...sono veramente depresso...ma
esisterà un modo???
praticamente la query dovrebbe fare questo: se è chiave primaria metti
la colonna IsPrimaryKey per quella riga a 1 (e IsForeignKey a 0) e
viceversa, così da avere "MioCampo", 1 (IsPrimaryKey),
0(IsForeignKey).
nelle altre query mi ritorna questo tipo di risultato:
"Campo1", 1, 0
"Campo1", 0, 1
"Campo1", 0, 0
in questo caso dovrei avere una sola riga così: "Campo1", 1, 1
:-(
Aiuto! :-P
Comunque grazie per tutte le risposte ricevute...ne aspetto altre :-P
:-)