文档章节

解决PowerDesigner反向工程没有注释(SQLSERVER )

Tony918
 Tony918
发布于 2017/03/09 13:42
字数 508
阅读 157
收藏 0

没有表的注释: 

在PD的 Tools-->Resources-->DBMS-->SQL Server 2005打开DBMS属性窗口,在General选项卡中选择Microsoft SQL Server 2005-->Script-->Objects-->Table-->SQLlistquery的value修改其中的内容为:

{OWNER, TABLE, TABLE_TYPE, COMMENT,TNAME}

select
   u.name,
   o.name,
   case (o.type) when 'S' then 'SYSTEM TABLE' else 'TABLE' end,
   convert(varchar(8000),isnull(f.value,o.name)),
   (select convert(varchar(8000), value) from ::fn_listextendedproperty(NULL, 'user', u.name, 'table', o.name, null, null) where name = 'MS_Description') as coln  
from
[%CATALOG%.]sys.sysobjects o
join [%CATALOG%.]sys.schemas u on (u.schema_id = o.uid)
left join [%CATALOG%.]sys.extended_properties f on
(f.major_id=o.id and f.minor_id=0 and f.class=1)
where
   o.type in ('U', 'S')
[  and u.name = %.q:OWNER%]
order by 1, 2

没有列的注释:     

在PD的 Tools-->Resources-->DBMS-->SQL Server 2005打开DBMS属性窗口,在General选项卡中选择Microsoft SQL Server 2005-->Script-->Objects-->Column-->SQLlistquery的value修改其中的内容为:

{OWNER, TABLE, S, COLUMN, DTTPCODE, LENGTH, SIZE, PREC, COMPUTE, NOTNULL, IDENTITY, DOMAIN, DEFAULT, ExtIdentitySeedInc, COMMENT,COLNNAME, ExtCollation, ExtIdtNotForReplication, ExtDeftConstName, ExtRowGuidCol}

select
    u.name,
    o.name,
    c.column_id,
    c.name,
    case when c.system_type_id in (165, 167, 231) and c.max_length = -1 then t.name + '(Max)' else t.name end,
    c.precision,
    case (c.max_length) when -1 then 0 else case when c.system_type_id in (99, 231, 239) then (c.max_length/2) else (c.max_length) end end as colnA,
    c.scale,
    case(c.is_computed) when 1 then convert(varchar(8000), (select z.definition from [%CATALOG%.]sys.computed_columns z where z.object_id = c.object_id and z.column_id = c.column_id)) else '' end as colnB,
    case(c.is_nullable) when 1 then 'NULL' else 'NOTNULL' end,
    case(c.is_identity) when 1 then 'identity' else '' end,
    case when(c.user_type_id <> c.system_type_id) then (select d.name from [%CATALOG%.]sys.types d where d.user_type_id = c.user_type_id) else '' end as colnC,
    convert(varchar(8000), d.definition),
    case (c.is_identity) when 1 then convert(varchar, i.seed_value) + ', ' + convert(varchar, i.increment_value) else '' end as colnD,
    (select convert(varchar(8000), value) from [%CATALOG%.]sys.extended_properties as ex where ex.major_id = c.object_id and ex.minor_id = c.column_id),
    (select convert(varchar(8000), value) from [%CATALOG%.]sys.extended_properties as ex where ex.major_id = c.object_id and ex.minor_id = c.column_id),
    c.collation_name,
    case (i.is_not_for_replication) when 1 then 'true' else 'false' end,
    d.name,
    case(c.is_rowguidcol) when 1 then 'true' else 'false' end
from
    [%CATALOG%.]sys.columns      c
    join [%CATALOG%.]sys.objects o on (o.object_id = c.object_id)
    join [%CATALOG%.]sys.schemas u on (u.schema_id = o.schema_id)
    join [%CATALOG%.]sys.types   t on (t.user_type_id = c.system_type_id)
    left outer join [%CATALOG%.]sys.identity_columns i on (i.object_id = c.object_id and i.column_id = c.column_id)
    left outer join [%CATALOG%.]sys.default_constraints d on (d.object_id = c.default_object_id)
where 
   o.type in ('U', 'S', 'V')
[  and u.name = %.q:OWNER%]
[  and o.name=%.q:TABLE%]
order by 1, 2, 3

 

修改完成后,重新生成一次,即可,如果再处理过程中,那是语法未整理好,请一定注意语法问题。

© 著作权归作者所有

Tony918
粉丝 2
博文 13
码字总数 2277
作品 0
西安
其他
私信 提问
Aquarius ORM Studio的网友评论

从事软件开发多年,感觉数据库在整个软件开发过程中扮演一个不可或缺的角色。一旦一个业务项目进入立项阶段,需要支持哪些数据库平台,如何使用该种数据库平台都将成为架构师需要考虑的内容,...

红薯
2009/12/11
933
4
使用powerdesigner建模

1.一路next,只是有个地方需要全选: 2.破解问题,给出一个破解包下载地址(替换安装目录的同名文件即可): http://pan.baidu.com/s/1pJtbHn9 3.主要用途,建模以后直接生成对应数据库的sql...

阿宇_
2015/08/26
122
0
【PowerDesigner】Constraint name uniqueness问题及处理

使用PowerDesigner生成数据库脚本时报 Constraint name uniqueness 错误: 双击每行错误,发现外键引用的名字有重复的: 惯性去网上找解决办法,找到的主要是两个方法: 1.使用Automatic Cor...

Andrewniu
05/10
0
0
RDIFramework.NET平台代码生成器V2.8发布-更新于2014-12-31(提供下载)

RDIFramework.NET平台代码生成器V2.8发布 更新于2014-12-31   RDIFramework.NET(.NET快速开发整合框架)框架做为信息化系统快速开发、整合的框架,其目的一至是给用户和开发者提供最佳的....

yonghu86
2018/06/26
0
0
跨平台的 PowerDesigner-ERMaster

在linux一直没有找到一款可以替代powerdesigner的软件,每次设计数据库都得打开虚拟机,比较麻烦,某日,突然发现了一个不错的替代品-ERMaster,官网是http://ermaster.sourceforge.net,这个...

鉴客
2012/05/27
3.5K
1

没有更多内容

加载失败,请刷新页面

加载更多

springboot 403 问题

添加WebAppConfigurer 配置 @Configuration@EnableAutoConfigurationpublic class WebAppConfigurer extends WebMvcConfigurerAdapter { public WebAppConfigurer() { } ......

布袋和尚_爱吃鱼
9分钟前
2
0
Python自动更换壁纸爬虫与tkinter结合

直接上代码 import ctypesimport timeimport requestsimport osfrom threading import Threadfrom tkinter import Tk, Label, Button,Entry,StringVar,messagebox# '放到AppData\Roami......

物种起源-达尔文
10分钟前
1
0
Postgresql Study 笔记

Postgresql 安装 Windows, MAC Install Postgresql 下载地址: https://www.enterprisedb.com/downloads/postgres-postgresql-downloads Linux Install sudo apt-get update sudo apt-get in......

slagga
12分钟前
2
0
layer.open 打开新页面传参问题

如图所示,点击出售,把A页面的数据传到弹框上面,因为弹框比较复杂,所以使用引入一个新页面。 A.html a.js B.html b.js 1、第一种方案 sellInte: function (){ var obj = document.g...

木九天
14分钟前
2
0
沙龙报名 | 区块链数据服务技术应用实践

京东云是国内首家提供区块链数据在线分析服务产品的公司,也是行业内首家对区块链数据服务进行开源的公司。 本次沙龙是京东云BDS开源后,首次在深圳举办线下沙龙,我们将邀请京东云BDS团队核...

京东云技术新知
15分钟前
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部