Requête SQL pour récupérer la structure d'une table
Bonjour,
Je cherche à exporter le résultat d'une requête pouvant m'afficher la structure d'une table.
J'ai trouvé sur internet une requête m'affichant presque tout ce que je souhaite :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
| SELECT S.name AS schema_name
, T.name AS table_name
, C.name AS column_name
-- , C.column_id
, TY.name AS data_type_name
, CASE WHEN TY.name IN ('nchar', 'nvarchar') THEN C.max_length / 2 ELSE C.max_length END AS max_length
FROM sys.schemas AS S
INNER JOIN sys.tables AS T
ON S.schema_id = T.schema_id
INNER JOIN sys.columns AS C
ON C.object_id = T.object_id
INNER JOIN sys.types AS TY
ON TY.system_type_id = C.system_type_id
AND TY.system_type_id = TY.user_type_id
WHERE 1 = 1
--AND S.name = 'dbo'
--AND T.name = 'maTable'
--AND C.name = 'maColonne'
ORDER BY T.name, C.column_id |
Je cherche à afficher des informations supplémentaires (qui apparaissent lorsqu'on lance le script "create to") telles que null ou not null, ex :
Code:
1 2 3 4
| CREATE TABLE [schema].[matable](
[iTransactionsId] [bigint] NOT NULL,
[dMontant] [decimal](18, 2) NULL,
... |
ainsi que le libellé (@value) qui apparait dans une suite de commande que je ne comprends absolument pas, ex :
Code:
1 2 3 4 5 6 7 8 9 10
|
...CONSTRAINT [PK_DTM_TRANSACTIONS] PRIMARY KEY CLUSTERED
(
[iTransactionsId] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'Clé primaire' , @level0type=N'SCHEMA',@level0name=N'schema', @level1type=N'TABLE',@level1name=N'matable', @level2type=N'COLUMN',@level2name=N'iTransactionsId'
GO |
Quelqu'un saurait-il comment ajouter ces 2 dernières informations à ma 1ère requête afin que je puisse la compléter ?
Merci d'avance.