最近需要整理出SqlServer上库的数据字典。刚开始慢慢整理很耗时,后面网上搜索到了生成数据字典的SQL,试过之后发现果然很强大,后面在开发新功能时,忽然生了一个念头,于是便调整一下,决定使用生成数据字典的语句,生成Java中实体Bean的属性。
1 SELECT 2 a.name AS 字段名, 3 b.name AS 类型, 4 isnull(g.[value],'') AS 字段说明, 5 CONVERT(VARCHAR(100),a.name) AS colname, 6 CONVERT(VARCHAR(100),b.name) AS typedoc, 7 CONCAT(' private ', 8 CASE CONVERT(VARCHAR(100),b.name) 9 WHEN 'varchar' THEN 'String' 10 WHEN 'nvarchar' THEN 'String' 11 WHEN 'int' THEN 'int' 12 WHEN 'bigint' THEN 'Long' 13 WHEN 'datetime' THEN 'Date' 14 ELSE 'String' END,' ', 15 CONVERT(VARCHAR(100),a.name),'; //', 16 CONVERT(VARCHAR(100),isnull(g.[value],''))) AS java 17 FROM syscolumns a 18 left join systypes b on a.xtype=b.xusertype 19 inner join sysobjects d on a.id=d.id and d.xtype='U' and d.name<>'dtproperties' 20 left join syscomments e on a.cdefault=e.id 21 left join sys.extended_properties g on a.id=g.major_id and a.colid=g.minor_id 22 left join sys.extended_properties f on d.id=f.major_id and f.minor_id =0 23 --where d.name='tablename' --如果只查询指定表,加上此条件 24 order by a.id,a.colorder