Informazioni TABELLE Database
Questa estrapolazione dà una visione più chiara del contenuto principale di un Database :
SELECT
OBJECT_NAME(obj.id) AS 'Tabella',
SUBSTRING(col.name,1, 30) AS 'Colonne',
CASE WHEN EXISTS (
Select name
From syscolumns sc
Where sc.id = obj.id and
sc.colid = col.colid and
sc.colstat & 1 = 1
) THEN
'Si'
ELSE
''
END AS 'Identity',
CASE WHEN UPPER(TYPE_NAME(col.xtype)) = 'DECIMAL' THEN
UPPER(RTRIM(TYPE_NAME(col.xtype)) +
'(' + CAST(COL.xprec AS VARCHAR) + ','
+ CAST(COL.xscale AS VARCHAR) + ')')
WHEN UPPER(TYPE_NAME(col.xtype)) = 'VARCHAR' THEN
UPPER(RTRIM(TYPE_NAME(col.xtype)) + '('
+ CAST(COL.length AS VARCHAR) + ')')
WHEN UPPER(TYPE_NAME(col.xtype)) = 'NVARCHAR' THEN
UPPER(RTRIM(TYPE_NAME(col.xtype)) + '('
+ CAST(COL.length / 2 AS VARCHAR) + ')')
ELSE
UPPER(RTRIM(TYPE_NAME(col.xtype)))
END AS 'Tipo di Dato',
CASE WHEN col.cdefault <> 0
THEN
(
SELECT REPLACE(REPLACE(text, '(', ''), ')', '')
FROM syscomments def
WHERE def.id = col.cdefault
)
ELSE ''
END AS 'Valore Default',
CASE col.isnullable
WHEN 0 THEN 'Not Null' ELSE ''
END AS 'Valore Nullo'
FROM syscolumns col
INNER JOIN sysobjects obj ON col.id = obj.id Or
col.id = cast(obj.parent_obj as int)
WHERE obj.xtype = 'U'
ORDER BYobj.name, col.colid
Ciao a Tutti 