zoukankan      html  css  js  c++  java
  • PowerDesigner里面将表中name列值拷贝到comment列

    完整版见https://jadyer.github.io/2015/06/03/powerdesigner-copy-name-to-comment/


    /**
     * PowerDesigner里面将表中name列值拷贝到comment列
     * @see --------------------------------------------------------------------------------------------------------------------
     * @see pd中的pdm默认生成sql时,字段是没有凝视的..想要凝视的话,有2个方法
     * @see 1.也是推荐的
     * @see   pdm中双击打开一个Table,到Columns选项卡中,按快捷键Ctrl+U,找到Comment并勾选就可以
     * @see   并且该操作设置一次就可以了,以后在新的Table中也会自己主动出现Comment
     * @see   设置完成后,在加入表字段时一并写上凝视,这样生成的sql中字段就会有凝视了
     * @see 2.运行vbs脚本
     * @see   相较第一种方法,该方法缺点是每次生成sql前,都要运行一遍这个脚本
     * @see   运行方式为Tools-->Execute Commands-->Edit/Run Scripts,或者直接快捷键Ctrl+Shift+X
     * @see   将以下的脚本拷进去运行一遍,也能够保存为name2comment.vbs(下一次再运行的话,就能够Ctrl+O再选择name2comment.vbs就可以)
     * @see --------------------------------------------------------------------------------------------------------------------
     * @create 2015-6-3 下午7:53:38
     * @author 玄玉<http://blog.csdn.net/jadyer>
     */
    ' 假设comment为空,则填入name;假设comment不为空,则保留不变.这样能够避免已有的凝视丢失.
    
    Option Explicit
    ValidationMode = True
    InteractiveMode = im_Batch
    
    Dim mdl ' the current model
    
    ' get the current active model
    Set mdl = ActiveModel
    If (mdl Is Nothing) Then
    	MsgBox "There is no current Model "
    ElseIf Not mdl.IsKindOf(PdPDM.cls_Model) Then
    	MsgBox "The current model is not an Physical Data model. "
    Else
    	ProcessFolder mdl 
    End If
    
    ' This routine copy name into comment for each table, each column and each view of the current folder
    Private sub ProcessFolder(folder)
    Dim Tab 'running table
    for each Tab in folder.tables
    	if not tab.isShortcut then
    		if trim(tab.comment)="" then '假设有表的凝视,则不改变它;假设没有表凝视,则把name加入到凝视中.
    			tab.comment = tab.name
    		end if
    		Dim col ' running column
    		for each col in tab.columns
    			if trim(col.comment)="" then '假设col的comment为空,则填入name;假设已有凝视,则不加入.这样能够避免已有凝视丢失.
    				col.comment= col.name
    			end if
    		next
    	end if
    next
    
    Dim view 'running view
    for each view in folder.Views
    	if not view.isShortcut and trim(view.comment)="" then
    		view.comment = view.name
    	end if
    next
    
    ' go into the sub-packages
    Dim f ' running folder
    For Each f In folder.Packages
    	if not f.IsShortcut then
    		ProcessFolder f
    	end if
    Next
    end sub
  • 相关阅读:
    Android混淆
    Web开发人员应当知道的15个开源项目
    应用开发10种免费推广的方法
    (转载)Comparing C++ and C (Inheritance and Virtual Functions)
    JCTVC 会议输出文档
    HEVC bit depth increasment
    函数指针声明时的形参列表可以没有
    关于链接 Linkage
    二级指针和二维数组
    C 与 C++互相调用函数,变量
  • 原文地址:https://www.cnblogs.com/yutingliuyl/p/6887813.html
Copyright © 2011-2022 走看看