首页 > 数据库 > Oracle > 通过POWERDESIGER脚本批量设置表主键
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博客 ” ,链接:https://blog.itpub.net/10130206/viewspace-1048852/ ,如需转载,请注明出处,否则将追究法律责任。