在创建pdm时由于需要在name列填写的是以后要在表中创建的注释信息,comment中则写的说明信息字数比较多如下图,单在生成建表sql时不能将name生成注释信息,进行如下设置可以讲name生成注释信息

1:选择database->edit current dbms-->Column-->ColumnComment将comment on column [%QUALIFIER%]%TABLE%.%COLUMN% is
%.q:COMMENT%改为comment on column [%QUALIFIER%]%TABLE%.%COLUMN% is
%.q:COLNNAME%

2:修改完1的内容后可以显示name为注释了,但是comment为空的则不能生成注释,点击下图红圈中的按钮勾选上红圈中的选项


方法二:
'PowerDesigner->Tools->Execute Commands->Edit/Run Scripts
可以保存该脚本为:name2comment.vbs
'******************************************************************************
'* File: name2comment.vbs
'* Title: Name to Comment Conversion
'* Model: Physical Data Model
'* Objects: Table, Column, View
'* Author: steveguoshao
'* Created: 2013-11-29
'* Mod By:
'* Modified:
'* Version: 1.0
'* Memo: Modify from name2code.vbs
'******************************************************************************
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
本文详细介绍了如何在PowerDesigner中通过调整设置和使用VBS脚本,实现将表中注释信息与说明信息正确对应生成SQL注释。包括通过Database->editcurrentdbms->Column->ColumnComment进行配置,以及使用PowerDesigner Tools->ExecuteCommands->Edit/RunScripts保存脚本以自动化处理。特别强调了修改脚本中注释生成规则的方法,并演示了如何确保生成的注释与说明信息一致性的操作步骤。
911

被折叠的 条评论
为什么被折叠?



