背景
我們在PowerDesigner中設計好數據庫表,並且每個表中的字段都會有相應的注釋,可是在我們在導出sql語句后,卻發現沒有添加字段注釋的相關sql語句(例如:EXECUTE sp_addextendedproperty N'MS_Description', N'字段注釋', N'user', N'dbo', N'table', N'表名', N'column', N'字段名')
解決方案
步驟: Powerdesigner中選擇Tools----->Excute commands---->Edit/Run Script 在打開窗口中添加以下信息
'****************************************************************************** '* File: name2comment.vbs '* Purpose: Database generation cannot use object names anymore ' in version 7 and above. ' It always uses the object codes. ' ' In case the object codes are not aligned with your ' object names in your model, this script will copy ' the object Name onto the object Comment for ' the Tables and Columns. ' '* Title: '* Version: 1.0 '* Company: Sybase Inc. '****************************************************************************** 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 '把表明作為表注釋,其實不用這么做 tab.comment = tab.name Dim col ' running column for each col in tab.columns '把列name和comment合並為comment col.comment= col.name next end if next Dim view 'running view for each view in folder.Views if not view.isShortcut 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
