(轉)PowerDesigner 把Comment寫到name中 和把name寫到Comment中 pd7以後版本可用
作者:劍飄紅 原文連結:http://www.cnblogs.com/cxd4321/archive/2009/03/07/1405475.html
在使用PowerDesigner對資料庫進行概念模型和物理模型設計時,一般在NAME或Comment中寫中文,在Code中寫英文。Name用來顯 示,Code在程式碼中使用,但Comment中的文字會儲存到資料庫Table或Column的Comment中,當Name已經存在的時候,再寫一次 Comment很麻煩,可以使用以下程式碼來解決這個問題:
[@more@]- 程式碼一:將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
nextDim 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
nextDim 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進行操作
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/124805/viewspace-1026983/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- PowerDesigner 同步Name到Comment 及 同步 Comment 到Name
- PowerDesigner 中將Comment(註釋)及Name(名稱)內容互相COPY的VBS程式碼(轉)
- PowerDesigner 中將Comment(註釋)及Name(名稱)內容互相COPY的VBS程式碼
- 如何 把下面這個url 重寫 用response 重寫到請求中...
- PowerDesigner中name和code取消自動關聯
- go fiber: 把異常資訊寫到錯誤日誌中Go
- 把list集合的內容寫入到Xml中,通過XmlDocument方式寫入Xml檔案中XML
- 把EXCEL表格插入到PPT中Excel
- 把ACCESS的資料匯入到Mysql中(轉)MySql
- 如何把jboss加入到jbuilder中UI
- 把一個JVM嵌入到本地程式中JVM
- 如何把Qlik Sense嵌入到Web應用中Web
- oracle中instance name 和database name的一點體會OracleDatabase
- release的時候如何把我們的版本號打包到應用中
- vue中報錯:[vuex] module namespace not found in mapActions(): comment/Vuenamespace
- 1到100迴圈,並把奇數放到陣列中,把偶數放到map中陣列
- 把日誌寫到其他伺服器上的操作步驟伺服器
- 主說,你把之前封的東西都寫到一塊吧
- [轉]ORACLE中的DB_NAME,SERVICE_NAME,INSTANCE_NAME,ORACLE_SID,GLOBAL_DBNAMEOracle
- oracle comment on的用法Oracle
- Oracle靜態監聽中SID_NAME區分大小寫嗎?Oracle
- Golang 千萬別把key或者password寫死到程式碼裡面去Golang
- 把“點檔案”放到版本控制中
- Oracle中把一個查詢結果插入到一張表中Oracle
- Oracle comment新增註釋Oracle
- Commit Comment (148)MIT
- 建議大家把自己的其他網站地址填寫到個人資訊裡網站
- oracle中眾多的nameOracle
- oracle中*_name你知道多少?Oracle
- 常見物件-把字串的首字母轉大寫其他轉小寫物件字串
- 表單元素同時寫id和name屬性的作用
- oracle手工快照會不會把所有的v$sql中的sql寫入到dba_hist字首的表呢?OracleSQL
- 把spring-boot專案部署到tomcat中的方法SpringbootTomcat
- php 把檔案加入到現有的zip壓縮包中PHP
- 在Linux中,如何利用Shell把10臺主機的當前時間寫到一個檔案裡邊?Linux
- Python中“if __name__=='__main__PythonAI
- vue-Router中name的使用Vue
- DB_NAME、DB_UNIQUE_NAME、SERVICE_NAME和INSTANCE_NAME等的區別