PowerDesigner设计Name和Comment 替换

这两天在用powerdesigner设计数据库。一直以为name就是注释名字来着。后来生成sql语句 怎么就没有注释信息那。 后来看了半天才知道自己范2了。

通过各种信息查找。大多都是改database下的edit current DBMS 里面的东西。但是这样生成出来 不能直接执行。 自己琢磨半天。又查了查资料终于找到了。

comment 是注释。name 是字段描述

在 PowerDesigner中操作如下

PowerDesigner-->Tools-->Execute  Commands-->Edit/Run Scripts  下执行就OK了。

执行代码--------------------------------

把comment 覆盖name  方法如下:

Option   Explicit

ValidationMode   =   True 

InteractiveMode   =   im_Batch

Dim   mdl   '   the   current   model

'   get   the   current   active   model

Set   mdl   =   ActiveModel 

If   (mdl   Is   Nothing)   Then 

MsgBox   "There   is   no   current   Model " 

ElseIf   Not   mdl.IsKindOf(PdPDM.cls_Model)   Then 

MsgBox   "The   current   model   is   not   an   Physical   Data   model. " 

Else 

ProcessFolder   mdl 

End   If

Private   sub   ProcessFolder(folder)

On Error Resume Next

Dim   Tab   'running     table 

for   each   Tab   in   folder.tables 

if   not   tab.isShortcut   then 

tab.name   =   tab.comment

Dim   col   '   running   column 

for   each   col   in   tab.columns 

if col.comment="" then

else

col.name=   col.comment 

end if

next 

end   if 

next

Dim   view   'running   view

for   each   view   in   folder.Views 

if   not   view.isShortcut   then 

view.name   =   view.comment 

end   if 

next

'   go   into   the   sub-packages

Dim   f   '   running   folder 

For   Each   f   In   folder.Packages 

if   not   f.IsShortcut   then 

ProcessFolder   f 

end   if 

Next 

end   sub

将name覆盖 comment  方法如下

Option   Explicit

ValidationMode   =   True 

InteractiveMode   =   im_Batch

Dim   mdl   '   the   current   model

'   get   the   current   active   model

Set   mdl   =   ActiveModel 

If   (mdl   Is   Nothing)   Then 

MsgBox   "There   is   no   current   Model " 

ElseIf   Not   mdl.IsKindOf(PdPDM.cls_Model)   Then 

MsgBox   "The   current   model   is   not   an   Physical   Data   model. " 

Else 

ProcessFolder   mdl 

End   If

'   This   routine   copy   name   into   comment   for   each   table,   each   column   and   each   view

'   of   the   current   folder 

Private   sub   ProcessFolder(folder) 

Dim   Tab   'running     table 

for   each   Tab   in   folder.tables 

if   not   tab.isShortcut   then 

tab.comment   =   tab.name 

Dim   col   '   running   column 

for   each   col   in   tab.columns 

col.comment=   col.name 

next 

end   if 

next

Dim   view   'running   view

for   each   view   in   folder.Views 

if   not   view.isShortcut   then 

view.comment   =   view.name 

end   if 

next

'   go   into   the   sub-packages

Dim   f   '   running   folder 

For   Each   f   In   folder.Packages 

if   not   f.IsShortcut   then 

ProcessFolder   f 

end   if 

Next 

end   sub

完事。 自己纠结了好久。 终于解决了  自己留个纪念。顺便给菜鸟们存个档

将comment覆盖name

原文  http://www.cnblogs.com/LMJBlogs/p/4544366.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值