通過POWERDESIGER指令碼批量設定表主鍵

qqmengxue發表於2011-04-19

POWERDESIGER12

ORACLE10

[@more@]

今天在通過POWERDESIGER匯出指令碼後發現居然沒有主鍵,只有用key表示的欄位,想到400多個表都要逐個加主鍵是不可能的,後來想到了通過POWERDESIGER提供的介面來批量的新增,通過觀察發現只要是主鍵的欄位都是設定的非空,所以這次就好辦了,一個指令碼就很easy的搞定了,詳細指令碼見下

---------------瘋狂的分隔符-----------------------------

Option Explicit
ValidationMode = True
InteractiveMode = im_Abort


Dim mdl ' 定義當前的模型

'通過全域性引數獲得當前的模型
Set mdl = ActiveModel
If (mdl Is Nothing) Then
MsgBox "沒有選擇模型,請選擇一個模型並開啟."
ElseIf Not mdl.IsKindOf(PdPDM.cls_Model) Then
MsgBox "當前選擇的不是一個物理模型(PDM)."
Else
ProcessFolder mdl
End If


'--------------------------------------------------------------------------------
'功能函式
'--------------------------------------------------------------------------------
Private Sub ProcessFolder(folder)
Dim Tab '定義資料表物件
for each Tab in folder.tables
if not tab.isShortcut then
'if tab.mandatory = "1" then tab.primarykey = "1" '進行判斷並賦值
Dim col '定義列物件
for each col in tab.columns
if not col.Primary and col.Mandatory then col.Primary = true'進行判斷並賦值
next
end if
next

'對子包進行遞迴,如果不使用遞迴只能取到第一個模型圖內的表
dim subfolder
for each subfolder in folder.Packages
ProcessFolder subfolder
next

'msgbox "完成把comment為空的內容用name代替"
End Sub

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/10130206/viewspace-1048852/,如需轉載,請註明出處,否則將追究法律責任。

相關文章