ITPub博客

首页 > 数据库 > Oracle > 通过POWERDESIGER脚本批量设置表主键

通过POWERDESIGER脚本批量设置表主键

原创 Oracle 作者:qqmengxue 时间:2011-04-19 17:39:49 0 删除 编辑

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/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2009-03-26

  • 博文量
    169
  • 访问量
    589149