PowerDesigners设计表,获取以name作为注释的sql脚本

   PowerDesigner最初由Xiao-Yun Wang(王晓昀)在SDP Technologies公司开发完成。PowerDesigner是Sybase的企业建模和设计解决方案,采用模型驱动方法,将业务与IT结合起来,可帮助部署有效的企业体系架构,并为研发生命周期管理提供强大的分析与设计技术。PowerDesigner独具匠心地将多种标准数据建模技术(UML、业务流程建模以及市场领先的数据建模)集成一体,并与 .NET、WorkSpace、PowerBuilder、Java™、Eclipse 等主流开发平台集成起来,从而为传统的软件开发周期管理提供业务分析和规范的数据库设计解决方案。此外,它支持60多种关系数据库管理系统(RDBMS)/版本。PowerDesigner运行在Microsoft Windows平台上,并提供了Eclipse插件。


    问题:在PowerDesigner中设计了一个表,可是默认情况下,在preview页面得到的sql脚本中没有注释。如果表列不多还好,如果列很多,一个一个添加注释会浪费很多时间。

    解决方案:在菜单栏依次点击 Tools -> Execute Commands -> Run Script 。点击完毕会弹出图2对应的弹出框,然后在输入框中输入以下脚本,并执行粘贴的脚本。然后再去双击表模型,进入preview界面,会发现生成了以name作为注释sql脚本。如图三所示


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



PowerDesigners设计表,获取以name作为注释的sql脚本_第1张图片
图1

PowerDesigners设计表,获取以name作为注释的sql脚本_第2张图片
图2
PowerDesigners设计表,获取以name作为注释的sql脚本_第3张图片
图3

你可能感兴趣的:(PowerDesigners设计表,获取以name作为注释的sql脚本)