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


    原文地址:https://blog.csdn.net/u010216641/article/details/48712503

    ##PowerDesigner去除双引号##

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

    /*==============================================================*/ 
    /* 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中的小写字母变为大写字母。
    代码如下:

    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调出脚本执行窗口,输入下边的代码就可以了。

  • 相关阅读:
    函数的逻辑读成零
    SQL逻辑读变成零
    体系结构中共享池研究
    执行计划基础 动态采样
    执行计划基础 统计信息
    识别低效率的SQL语句
    oracle 知识
    XPATH 带命名空间数据的读取
    ACTIVITI 研究代码 之 模版模式
    ACTIVITI 源码研究之命令模式执行
  • 原文地址:https://www.cnblogs.com/dirgo/p/9354734.html
Copyright © 2020-2023  润新知