powerdesigner 将表中name列值复制到comment列 (…

2018-06-18 00:47:48来源:未知 阅读 ()

新老客户大回馈,云服务器低至5折

  1. /** 
  2.  * PowerDesigner里面将表中name列值复制到comment列 
  3.  * @see -------------------------------------------------------------------------------------------------------------------- 
  4.  * @see pd中的pdm默认生成sql时,字段是没有注释的..想要注释的话,有2个方法 
  5.  * @see 1.也是推荐的 
  6.  * @see   pdm中双击打开一个Table,到Columns选项卡中,按快捷键Ctrl+U,找到Comment并勾选即可 
  7.  * @see   而且该操作设置一次就行了,以后在新的Table中也会自动出现Comment 
  8.  * @see   设置完毕后,在添加表字段时一并写上注释,这样生成的sql中字段就会有注释了 
  9.  * @see 2.执行vbs脚本 
  10.  * @see   相较第一种方法,该方法缺点是每次生成sql前,都要执行一遍这个脚本 
  11.  * @see   执行方式为Tools-->Execute Commands-->Edit/Run Scripts,或者直接快捷键Ctrl+Shift+X 
  12.  * @see   将下面的脚本拷进去执行一遍,也可以保存为name2comment.vbs(下一次再执行的话,就可以Ctrl+O再选择name2comment.vbs即可) 
  13.  * @see -------------------------------------------------------------------------------------------------------------------- 
  14.  */  

 

' 如果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 

 

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:mysql数据库快速入门(1)

下一篇:mysq的蠕虫复制