批量将PowerDesigner中表字段由小写变成大写

简介: 因项目需要将项目数据库由sqlserver转为oracle, 之前有些表的字段为小写,但利用PowerDesigner反向工程再切换DBMS为Oracle11g时,发生原先表还是小写,通过以下VB脚本即可批量修改,在Tools=>Execute Commands下的Edit/Run Scripts,或者通过Ctrl+Shift+X运行以下脚本即可: '*************

因项目需要将项目数据库由sqlserver转为oracle,

之前有些表的字段为小写,但利用PowerDesigner反向工程再切换DBMS为Oracle11g时,发生原先表还是小写,通过以下VB脚本即可批量修改,在Tools=>Execute Commands下的Edit/Run Scripts,或者通过Ctrl+Shift+X运行以下脚本即可:

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


相关文章
|
1月前
|
Java 数据库
案例一:去掉数据库某列中的所有英文,利用java正则表达式去做,核心:去掉字符串中的英文
这篇文章介绍了如何使用Java正则表达式从数据库某列中去除所有英文字符。
50 15
|
6月前
|
SQL DataWorks
如果源表名是小写,而DataWorks的数据集成脚本中使用的是大写表名,就会导致报错
如果源表名是小写,而DataWorks的数据集成脚本中使用的是大写表名,就会导致报错
79 1
|
SQL Oracle 关系型数据库
PowerDesigner生成的建表脚本中如何把对象的双引号去掉
PowerDesigner生成的建表脚本中如何把对象的双引号去掉
148 0
|
数据库
数据库——将多个逗号转成一个逗号
数据库——将多个逗号转成一个逗号
|
SQL 数据库
数据表的字段命名规范
数据表的字段命名规范
401 0
|
数据库管理
PowerDesigner生成建表脚本时字段超过15字符就发生错误
PowerDesigner生成建表脚本时字段超过15字符就发生错误
|
关系型数据库 MySQL
Mysql查询是否区分大小写?
Mysql查询是否区分大小写?
120 0
|
关系型数据库 MySQL
mysql查询字段包含英文的记录
mysql查询字段包含英文的记录
347 0
|
SQL 数据库
SQL语句大小写是否区分的问题,批量修改整个数据库所有表所有字段大小写
一、实例介绍 SQL语句大小写到底是否区分呢?我们先从下面的这个例子来看一下: 例: --> 创建表,插入数据: declare @maco table (number int,myvalue varchar(2)) insert into @maco select 1,'aa' ...
1434 0
|
SQL
MSSQL 如何采用sql语句 获取建表字段说明、字段备注、字段类型、字段长度
原文:MSSQL 如何采用sql语句 获取建表字段说明、字段备注、字段类型、字段长度 转自: http://www.maomao365.com/?p=4983 下文讲述-采用sql脚本获取指定表中所有列对应的说明信息,脚本如下所示:  SELECT (case when a.
1633 0