【随手记录】关于PowerDesigner一些技巧备份下

一、关于字段大小写

我们都知道设计的时候字段分大小写是非常直观的。但是。。。Oracle中只认识大写。导出我们生成脚本的时候有很多引号,字段也就变成了带引号的自定义类型。

【解决方式】

1、菜单:Database->Edit current database,

2、左边树节点 Sql->Format,有一项CaseSensitivityUsingQuote,Value 选择 No ,点确定即可。

二、结束符为“;”改为下一行“/”

【解决方式】

1、菜单:Database->Edit current database,

2、左边树节点 Sql->Syntax,有一项UseBlockTerm,Value 选择 Yes ,点确定即可。

三、复制 Name 到 Comment
一般我们设计时都直接写Name,但是这个无法导出为数据库中的注释。
【解决方式】
1、菜单:Tool -> Execute Commands -> Edit / Run Script
2、在窗口中复制如下脚本,并执行。
脚本为:
================脚本开始================
Option Explicit
ValidationMode = True
InteractiveMode = im_Batch
Dim mdl
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)
Dim Tab
for each Tab in folder.tables
if not tab.isShortcut then
tab.comment=tab.name
Dim col
for each col in tab.columns
col.comment=col.name
next
end if
next
end sub
================脚本结束================

三、复制 Comment 到 Name
一般我们从数据库反向工程到PowerDesigner时,能得到注释,但是Name 和 Code 是一样的。但是注释是中文。
【解决方式】
1、菜单:Tool -> Execute Commands -> Edit / Run Script
2、在窗口中复制如下脚本,并执行。
脚本为:
================脚本开始================
Option Explicit
ValidationMode = True
InteractiveMode = im_Batch
Dim mdl
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)
Dim Tab
for each Tab in folder.tables
if not tab.isShortcut then
tab.name=tab.comment
Dim col
for each col in tab.columns
col.name=col.comment
next
end if
next
end sub
================脚本结束================

posted @ 2022-05-07 17:28  空知大仙人  阅读(54)  评论(0编辑  收藏  举报