波斯码BOSSMA Information Technology

PowerDesigner中表名和字段名大小写转换

发布时间:2010年9月30日 / 分类:DataBase / 8,748 次浏览 / 评论

面对不同的数据库大小写规范,一个个字段修改太麻烦了,如果使用了PowerDesigner设计,有比较简单的方法。进入PowerDesigner,打开一个PDM,在菜单栏找到:Tools – Excute Commands – Edit/Run Script,或者直接按Ctrl+Shift+X调出脚本执行窗口,输入下边的代码就可以了。使用的是VBScript,语义比较容易理解,可以根据自己的需求修改。

Option Explicit
ValidationMode = True
InteractiveMode = im_Batch

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
??????? ' Tab.code = tab.name
??????? '表名处理,前边添加前缀,字母小写
??????? Tab.name= "t_"+LCase(Tab.name)
???????? Dim col ' 要处理的列
???????? for each col in Tab.columns
??????????? '列名称和code全部小写,大写诗UCase
??????????? col.code= LCase(col.code)
??????????? col.name= LCase(col.name)
???????? next
????? 'end if
?? next

' 处理视图
'? Dim view 'running view
'?? for each view in folder.Views
?? '?? if not view.isShortcut then
?????? '? view.code = view.name
??? '? end if
? ' next

?? ' 递归进入 sub-packages
?? Dim f ' sub? folder
?? For Each f In folder.Packages
????? if not f.IsShortcut then
???????? ProcessFolder f
????? end if
?? Next
end sub
本博客所有文章如无特别注明均为原创。
复制或转载请以超链接形式注明转自波斯码,原文地址《PowerDesigner中表名和字段名大小写转换

关键字:

建议订阅本站,及时阅读最新文章!
【上一篇】 【下一篇】

目前有1 条评论