PowerDesigner 批量修改列大小写

来源:互联网 发布:淘宝联盟用红包佣金 编辑:程序博客网 时间:2024/06/14 07:51


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

打开模型 Tools-->Execute Commands--> Edit/Run Script

UCase大写 LCase小写




'***************************************************************************** '文件:powerdesigner.ucase.VBs '版本:1.0 '功能:遍历物理模型中的所有表,将表名、表代码、字段名、字段代码全部由小写改成大写; ' 并将序列的名和代码由小写改成大写。 '用法:打开物理模型,运行本脚本(Ctrl+Shift+X) '备注: '***************************************************************************** dim model 'current model set model = ActiveModelIf (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

原帖地址:http://blog.csdn.net/xzknet/article/details/43274467



1 0
原创粉丝点击