平时经常用PowerDesigner设计表结构。但是有时候在设计表结构和字段的时候经常是大小写混合用。导致一张表中有的字段是大写有的是小写。PowerDesigner在设计表示如果表明或字段名是小写。则在生成SQL时会自动在表名上使用双引号。例如:
/*==============================================================*/
/* Table: "test" */
/*==============================================================*/
create table "test" (
"username" varchar2(24),
"full_name" varchar2(24)
);
ORACLE会认为该表和字段使用小写字母命名。ORACLE默认是使用大写字母的,这样会导致有些用法用不了。下面提供段代码可以把PowerDesigner中的小写字母变为大写字母。
代码如下:
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= UCase(Tab.name)
Tab.code= UCase(Tab.code)
Dim col ' 要处理的列
for each col in Tab.columns
'列名称和code全部小写,大写诗UCase
col.code= UCase(col.code)
col.name= UCase(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,打开一个PDM,在菜单栏找到:Tools – Excute Commands – Edit/Run Script,或者直接按Ctrl+Shift+X调出脚本执行窗口,输入下边的代码就可以了。
我在帮别人设计博客系统tbw淘宝商城http://www.tbwchs.com时就遇到这个问题。
分享到:
相关推荐
PowerDesigner数据库模型表内容大小写转换,可对表名称、字段名称、字段类型标识字符、主外键依赖等字符串进行大小写转换操作
- 在PowerDesigner中设计表结构时,可以确保表名和字段名按照期望的大小写格式设置。 - 当使用PowerDesigner生成SQL脚本时,它会在表名和字段名周围添加双引号,这样在Oracle中创建表时就会保留这些名称的原始大小...
5. **导入过程**:点击“Next”按钮,PowerDesigner将开始读取数据库中的表结构信息,包括字段名、数据类型、主键、外键等,并将其转换为数据模型图。这个过程可能需要一些时间,具体取决于数据库的大小。 6. **...
- **编写脚本**:在弹出的窗口中,输入相应的脚本来实现字段名的大小写转换。以下是一个示例脚本: ```vbscript Option Explicit ValidationMode = True InteractiveMode = im_Batch Dim mdl ' 当前模型 Set...
若遇到因双引号导致的问题,可进入“Database” -> “Edit Current Database”,选择“Sql” -> “Format”,更改“CaseSensitivityUsingQuote”选项为"No",以避免标识符大小写敏感问题。 4. **生成SQL文件** ...
设计概念模型时,通过"Tools/Model Options"和"Tools/Display Preferences"可以设置模型选项和图元的显示方式,如Name/Code是否区分大小写,实体间关系的表示方式等。 创建概念模型的步骤包括:新建模型,设置模型...
通过“Tools”菜单下的“Model Options”,可以进入“Naming Convention”设置页面,选择“Name Code”标签页,用户能够指定字符大小写规则,如全部大写(Uppercase)、全部小写(Lowercase)或混合大小写(Mixed Case)。...
- EZDML提供了大小写转换功能,以满足不同数据库系统对标识符命名规则的要求。 综上所述,EZDML表结构设计器虽然功能相对简单,但在特定场景下能够提供高效、便捷的数据建模体验。对于需要快速原型设计或小型项目...
- **数据类型选择**:根据实际需求选择合适的数据类型,如整型、字符串、日期时间等,避免过大或过小的数据类型导致的空间浪费或数据精度问题。 - **索引设计**:合理创建主键、唯一索引和普通索引,提高查询速度...
1. **列名规范**:尽管PowerDesigner默认将列名转换为大写,但你可以在Excel中设定好所需的大小写格式,避免后期修改的麻烦。 2. **数据类型**:在Excel的单元格中,可以使用特定的格式或者注释来表示对应的数据类型...
- **问题描述**:MySQL默认情况下区分大小写,这可能导致Oracle数据库中的表名或字段名在MySQL中无法识别。 - **解决方案**:在迁移前,调整MySQL的配置使其不区分大小写。 **7. 数值类型处理** - **问题描述**:...
例如,`TO_DATE`用于将字符串转换为日期,`SYSDATE`获取当前系统日期,`SUBSTR`用于提取字符串的一部分,`UPPER`和`LOWER`转换字符大小写。 在Linux环境下,Oracle的安装、配置、管理和优化都需要熟悉Linux命令行...
2. **数据库设计与导入导出**:设计数据库涉及表结构和第三范式原则。数据库导入导出可以使用Oracle的EXP和IMP工具,或者PowerDesigner等第三方工具。 3. **重复数据处理**:显示重复数据可使用`GROUP BY`和`HAVING...
逻辑设计部分详细阐述了数据库的实体关系模型,包括各表的逻辑结构和视图的设计。视图是根据需求定制的虚拟表,如视图A、B、C,分别用于数据聚合、过滤或提供特定查询接口。每个视图的列名和功能应有清晰的英文和...
其他细节的设计…最爱模块发现小错误更新历史: 2003.7.3 树型分类算法 开始和朋友讨论树型算法,一时兴起,写了个树型结构并做了个示例。2003.7.4 主程序和数据库设计 见自己完成了树型分类和节点的管理代码,感觉...