若水尚善

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

  最近需要整理出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  

 

posted on 2018-09-14 14:18  若水尚善  阅读(208)  评论(0编辑  收藏  举报