zoukankan      html  css  js  c++  java
  • 遍历物理模型中的所有表,将表名、表代码、字段名、字段代码全部由小写改成大写

    由于建表的时候木有注意,在生产SQL时pd在列名上都加了“”这个东东,故只有 通过以下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

  • 相关阅读:
    Mysql: 一个死锁场景的解决
    Mysql: 创建新的账号
    安全评测:BashDoor
    BeanFactory和FactoryBean的区别:
    linux 下将war解压到当前目录
    学习BoolanC++笔记_01(C++面向对象高级编程(上)第一周)
    学习BoolanC++笔记_00(预备)
    Linux (Centos) 上安装Nexus OSS 3 并搭建docker私有仓库
    linux(Centos7)搭建rpm仓库
    树莓派4b安装 manjaro linux
  • 原文地址:https://www.cnblogs.com/chenqingwei/p/4087307.html
Copyright © 2011-2022 走看看