PowerDesigner表结构和字段大小写转换

PowerDesigner表结构和字段大小写转换

PowerDesigner去除双引号

平时经常用PowerDesigner设计表结构。但是有时候在设计表结构和字段的时候经常是大小写混合用。导致一张表中有的字段是大写有的是小写。PowerDesigner在设计表示如果表明或字段名是小写。则在生成SQL时会自动在表名上使用双引号。例如:

 
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
/*==============================================================*/ /* Table: "test" */ /*==============================================================*/ create table "test" ( "username" varchar2(24), "full_name" varchar2(24) );

ORACLE会认为该表和字段使用小写字母命名。ORACLE默认是使用大写字母的,这样会导致有些用法用不了。

一般可以在生成sql文后把所有双引号(“)去掉.
其实powerdesigner中可以设置生成sql文的时候不自动添加双引号(“).
设置方法:

  1. 设置当前为oracle
    这里写图片描述

  2. 选择Database->Edit Current DBMS菜单
    这里写图片描述
    这里写图片描述

  3. 选中General选项卡,依次打开Script->Sql->Fomat->CaseSensitivityUsingQuote
    这里写图片描述

  4. 将右侧的Value值选中No
    这里写图片描述

  5. 点击应用,确定.

这样生成sql文时,就不会自动加上双引号(“).

下面提供段代码可以把PowerDesigner中的小写字母变为大写字母。
代码如下:

 
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
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调出脚本执行窗口,输入下边的代码就可以了。

相关文章
相关标签/搜索