PowerDesigner 把Comment写到name中 和把name写到Comment中 pd7以后版本可用
在使用PowerDesigner對數據庫進行概念模型和物理模型設計時,一般在NAME或Comment中寫中文,在Code中寫英文。Name用來顯 示,Code在代碼中使用,但Comment中的文字會保存到數據庫Table或Column的Comment中,當Name已經存在的時候,再寫一次 Comment很麻煩,可以使用以下代碼來解決這個問題:
- 代碼一:將Name中的字符COPY至Comment中
Option?? Explicit
ValidationMode?? =?? True
InteractiveMode?? =?? im_BatchDim?? 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
--------------------------------------------
???????? 另外在使用REVERSE ENGINEER從數據庫反向生成PDM的時候,PDM中的表的NAME和CODE事實上都是CODE,為了把NAME替換為數據庫中Table或Column的中文Comment,可以使用以下腳本:
- 代碼二:將Comment中的字符COPY至Name中
Option?? Explicit
ValidationMode?? =?? True
InteractiveMode?? =?? im_BatchDim?? 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?? IfPrivate?? 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
-----------------------------------------------------------------------
以上兩段代碼都是VB腳本,在PowerDesigner中使用方法為:
??? PowerDesigner->Tools->Execute Commands->Edit/Run Scripts
將代碼Copy進去執行就可以了,是對整個CDM或PDM進行操作
總結
以上是生活随笔為你收集整理的PowerDesigner 把Comment写到name中 和把name写到Comment中 pd7以后版本可用的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: windows 下查看进程占用
- 下一篇: The credentials you