ITPub博客

首页 > Linux操作系统 > Linux操作系统 > PowerDesigner 中的name与comment转换(转)

PowerDesigner 中的name与comment转换(转)

原创 Linux操作系统 作者:lsq_008 时间:2011-07-21 16:53:18 0 删除 编辑

1 PowerDesigner中批量根据对象的name生成comment的脚本

执行方法:Open PDM -- Tools -- Execute Commands -- Run Script

Vb script代码 
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 code 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 

 

2 PowerDesigner中逆向工程将数据库中comment脚本赋值到PDM的name

执行方法:Open PDM -- Tools -- Execute Commands -- Run Script



Vb script代码 

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 code 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

    if len(tab.comment) <> 0 then

         tab.name = tab.comment

    end if

    On Error Resume Next

    Dim col 'running column

    for each col in tab.columns

        if len(col.comment) <>0 then

            col.name =col.comment

         end if

        On Error Resume Next

   next

end if

next

end sub


来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/10972173/viewspace-702775/,如需转载,请注明出处,否则将追究法律责任。

上一篇: 使用动态PL/SQL
请登录后发表评论 登录
全部评论
十余年大型金融及电信系统数据库管理经验,曾服务于中国建设银行、中国移动。对oracle,mysql数据库有深入了解。 擅长python开发,独立开发了开源数据库自动化监控运维平台Power Monitor。

注册时间:2008-02-29

  • 博文量
    325
  • 访问量
    1254975