在使用PowerDesigner对数据库进行概念模型和物理模型设计时,一般在NAME或Comment中写中文,在Code中写英文。Name用来显 示,Code在代码中使用,但Comment中的文字会保存到数据库Table或Column的Comment中,当Name已经存在的时候,再写一次 Comment很麻烦,可以使用以下代码来解决这个问题:
•代码一:将Name中的字符COPY至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
tab.comment = tab.name
Dim col ' running column
for each col in tab.columns
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
--------------------------------------------
另外在使用REVERSE ENGINEER从数据库反向生成PDM的时候,PDM中的表的NAME和CODE事实上都是CODE,为了把NAME替换为数据库中Table或Column的中文Comment,可以使用以下脚本:
•代码二:将Comment中的字符COPY至Name中
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
Private sub ProcessFolder(folder)
On Error Resume Next
Dim Tab 'running table
for each Tab in folder.tables
if not tab.isShortcut then
tab.name = tab.comment
Dim col ' running column
for each col in tab.columns
if col.comment="" then
else
col.name= col.comment
end if
next
end if
next
Dim view 'running view
for each view in folder.Views
if not view.isShortcut then
view.name = view.comment
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
-----------------------------------------------------------------------
以上两段代码都是VB脚本,在PowerDesigner中使用方法为:
PowerDesigner->Tools->Execute Commands->Edit/Run Scripts
将代码Copy进去执行就可以了,是对整个CDM或PDM进行操作
实际开发中,可能存在name和comment 需要合并name和commet一起为comment,name+(comment)模式,如果comment为空,不加(),可以在上面修改代码,注意vb的相等是‘=’
如下: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 tab.comment = "" then
tab.comment = tab.name
else
tab.comment = tab.name + "(" + tab.comment + ")"
end if
Dim col ' running column
for each col in tab.columns
if col.comment = "" then
col.comment= col.name
else
col.comment= col.name + "(" + col.comment + ")"
end if
next
end if
next
Dim view 'running view
for each view in folder.Views
if not view.isShortcut then
if view.comment = "" then
view.comment = view.name
else
view.comment = view.name + "(" + view.comment + ")"
end if
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
分享到:
相关推荐
标题中的“PowerDesigner 把name写到Comment中 和 把Comment写到name中 pd7以后版本可用”指的是一项在PowerDesigner中操作模型属性的方法。PowerDesigner是一款强大的数据建模工具,广泛应用于数据库设计和逆向工程...
在PowerDesigner这款数据建模和设计工具中,name和comment的互换是一个重要的操作,尤其对于数据模型的管理和维护来说。当我们处理复杂的数据模型时,我们可能需要将模型中对象的name(名称)和comment(注释)字段...
在PowerDesigner中,可以通过执行脚本来自动化一些重复性任务,例如将字段的名称(Name)自动填充到其注释(Comment)中。以下是对这个过程的详细解释: 首先,打开PowerDesigner,点击菜单栏上的“Tools”(工具)...
PowerDesigner里执行脚本命令,把comment列的内容批量复制到name列。
标题“powerdesigner_comment转name_name转comment”指的是使用PowerDesigner工具进行数据库设计时,将字段注释(comment)与字段名(name)之间进行互相转换的功能。在数据库设计过程中,注释对于理解和维护数据库...
PowerDesigner是一款功能强大的数据模型设计工具,但是在某些版本中,视图不支持同时显示name、code、comment(列注释)。本文档将介绍如何在PowerDesigner中显示name、code、comment,解决了这个问题。 问题描述:...
本篇文章主要讲解如何利用PowerDesigner 15进行特定的操作,即如何将Comment字段中的字符复制到Name字段中,这在数据库对象命名规范化的场景下非常有用。 首先,我们需要了解PowerDesigner 15的工作界面和基本功能...
"PowerDesigner 中name和comment 互换脚本"这个主题涉及到的是在PDM中,如何通过编写VBS(Visual Basic Script)脚本来实现模型对象的name属性和comment属性的交换。 PowerDesigner中的name属性通常用于定义对象的...
通过这个脚本,PowerDesigner将自动为每个表、列和视图的name属性生成对应的comment,使得在生成SQL脚本后,当这些对象被创建到数据库时,其comment属性将被正确设置,从而提高了数据库的可读性。 在实际应用中,这...
powerDesigner 把name项添加到comment 使用方法使用方法 PowerDesigner->Tools->Execute Commands->Edit/Run Scripts 可以保存该脚本为:name2comment.vbs
PowerDesigner中使name列的值等于comment列的值的脚本,亲测可用
在设计时,通常会在NAME字段中输入中文名称,而在Comment字段中输入英文描述,以便于显示和代码中使用。同时,Comment中的内容会存储到数据库对象(如Table或Column)的注释中。然而,当NAME已经存在时,手动更新...
标题中提到的问题,即"PowerDesigner逆向工程时,将表字段的comment转换为PDM的name",可以通过编写和执行自定义脚本来实现。以下是这个过程的详细步骤: 1. 打开PowerDesigner中的PDM模型。 2. 进入"Tools"菜单,...
将powerdesigner中物理模型的英文字段名称转换为显示注释
描述中的“PowerDesigner15-将Name中的字符COPY至Comment中.vbs”进一步确认了这个脚本是为PowerDesigner 15版本定制,主要功能就是批量处理模型中的对象,将`Name`字段的内容复制到`Comment`字段。 标签“pdm”...
这是因为 PowerDesigner 中有一个“Name to Code mirroring”功能,该功能可以自动将 Name 同步到 Code 中。 然而,在某些情况下,这种同步功能可能会带来问题。例如,在数据仓库设计中,我们可能需要使用中文字段...
PowerDesigner 中把Name值批量复制到Comment实用脚本,注意是在CDM和PDM中运行此脚本便可.PowerDesigner->Tools->Execute Commands->Edit/Run Scripts
这样做之后,当你修改Name时,Code就不会再自动更新,从而保持了Name和Code的独立性。 7. 完成设置后,点击"OK"按钮,保存你的更改。此时,关闭并重新打开PowerDesigner,你就会发现Name的修改不会影响到Code,问题...
在 PowerDesigner 物理数据模型 (PDM) 中,有时候需要将对象的 Name 复制到 Comment 中,尤其是在数据库生成时不能使用对象名称的情况下(例如,在 PowerDesigner 7 及更高版本中)。这通常是因为数据库生成过程会...
使用PowerDesigner我经常只设置了Name和code,但是数据库里显示不了Name,显示的是描述,及comment。所以我可以通过执行一个脚本批量把列名(name)复制为描述(comment)。