Voici ses principaux champs :
Nom du champ | Type du champ | Description du champ |
column_id | int | Numéro de la colonne. |
is_nullable | bit | Si 1 alors la valeur de la colonne peut être NULL. |
max_length | smallint | Taille de la colonne. |
name | sysname | Nom de la colonne. |
objet_id | int | Identifiant de la table. |
system_type_id | int | Identifiant du type de la colonne. |
SELECT
e.name,
'',
d.name,
c.name,
a.name,
CASE
WHEN b.name='binary' THEN 1
WHEN b.name='image' THEN 1
WHEN b.name='varbinary' THEN 1
WHEN b.name='char' THEN 2
WHEN b.name='nchar' THEN 2
WHEN b.name='ntext' THEN 2
WHEN b.name='nvarchar' THEN 2
WHEN b.name='text' THEN 2
WHEN b.name='varchar' THEN 2
WHEN b.name='datetime' THEN 3
WHEN b.name='smalldatetime' THEN 3
WHEN b.name='timestamp' THEN 3
WHEN b.name='bigint' THEN 4
WHEN b.name='decimal' THEN 4
WHEN b.name='int' THEN 4
WHEN b.name='money' THEN 4
WHEN b.name='numeric' THEN 4
WHEN b.name='smallint' THEN 4
WHEN b.name='smallmoney' THEN 4
WHEN b.name='tinyint' THEN 4
WHEN b.name='bit' THEN 5
WHEN b.name='float' THEN 6
WHEN b.name='real' THEN 6
ELSE 7
END,
a.max_length,
CASE a.is_nullable
WHEN 1 THEN 1
ELSE 0
END,
a.column_id, ''
FROM sys.columns a, sys.systypes b, sys.tables c, sys.schemas d, sys.sysusers e
WHERE
a.system_type_id=b.xtype
AND a.object_id=c.object_id
AND d.schema_id=c.schema_id
AND e.uid=d.principal_id
AND d.name LIKE 'MonSchema%'
AND c.name LIKE 'MaTable%'
AND a.name LIKE 'MaColonne%'
ORDER BY d.name, c.name, a.column_id;