PowerDesignerの表フィールドを小文字から大文字に一括変更
2267 ワード
プロジェクトのためにプロジェクトデータベースをsqlserverからoracleに変換する必要があります.
以前は一部のテーブルのフィールドが小文字であったが、PowerDesignerリバースエンジニアリングでDBMSをOracle 11 gに再切り替えた場合、元のテーブルが小文字であるか、以下のVBスクリプトで一括変更でき、Tools=>Execute CommandsのEdit/Run Scripts、またはCtrl+Shift+Xで以下のスクリプトを実行すればよい.
以前は一部のテーブルのフィールドが小文字であったが、PowerDesignerリバースエンジニアリングでDBMSをOracle 11 gに再切り替えた場合、元のテーブルが小文字であるか、以下のVBスクリプトで一括変更でき、Tools=>Execute CommandsのEdit/Run Scripts、またはCtrl+Shift+Xで以下のスクリプトを実行すればよい.
'*****************************************************************************
' :powerdesigner.ucase.VBs
' :1.0
' : , 、 、 、 ;
' 。
' : , (Ctrl+Shift+X)
' :
'*****************************************************************************
dim model 'current model
set model = ActiveModel
If (model Is Nothing) Then
MsgBox "There is no current Model"
ElseIf Not model.IsKindOf(PdPDM.cls_Model) Then
MsgBox "The current model is not an Physical Data model."
Else
ProcessTables model
ProcessSequences model
End If
'*****************************************************************************
' :ProcessSequences
' :
'*****************************************************************************
sub ProcessSequences(folder)
' :
dim sequence
for each sequence in folder.sequences
sequence.name = UCase(sequence.name)
sequence.code = UCase(sequence.code)
next
end sub
'*****************************************************************************
' :ProcessTables
' :
'*****************************************************************************
sub ProcessTables(folder)
'
dim table
for each table in folder.tables
if not table.IsShortCut then
ProcessTable table
end if
next
'
dim subFolder
for each subFolder in folder.Packages
ProcessTables subFolder
next
end sub
'*****************************************************************************
' :ProcessTable
' : table , ,
'
'
'*****************************************************************************
sub ProcessTable(table)
dim col
for each col in table.Columns
'
col.code = UCase(col.code)
col.name = UCase(col.name)
next
table.name = UCase(table.name)
table.code = UCase(table.code)
end sub