Powerdesigner导出的sql语句中去掉双引号

1、去掉Oracle生成的SQL创建语句中的双引号 
用powerdesigner导出orale数据库的建表sql时,默认会给表名和字段名加上双引号,如下图:
\
这样给操作数据库带来很大的不便,解决的办法是设置Database菜单,
\
然后点击Edit Current DBMS菜单,再依次点开Script->Format,然后找到CaseSensitivityUsingQuote
将其设为NO,即可。如下图:
\
如果带有包的话,导出时要选择包中的表。

2、PowerDesign高级应用
编写相关的VBS脚本在PowerDesign里自定义一些命令与操作等,具体的可以参考C:\Program Files\Sybase\PowerDesigner 9\VB Scripts目录下的脚本示例。怎么运用这些脚本呢?
在Tools->Execute Commands里可以进行操作。具体说明在帮助里写的很清楚。帮助的位置在 PowerDesigner General Features Guide-> PART 2. Modeling Guide->CHAPTER 8. Managing Objects->Accessing objects using VBScript->VBScript uses in PowerDesigner

PowerDesign的使用主要是DBMS的配置
3、修改建表脚本生成规则。
如果每个表格都有相同的字段,可以如下修改:
Database -> Edit Current DBMS 展开 Script -> Object -> Table -> Create 见右下的Value值,可以直接修改如下:

/* tablename: %TNAME% */
create table [%QUALIFIER%]%TABLE% (
   %TABLDEFN%
   ts                   char(19)             null default convert(char(19),getdate(),20),
   dr                   smallint             null default 0
)
[%OPTIONS%]

其中的 ts、dr 两列会在生成SQL脚本的时候自动的插入每个表格中,其中的%TNAME% 变量是给每个表格的SQL添加一个该表的Name值注释。

4、修改字段生成规则
要给每个字段都添加一个注释的话,同一窗口中展开 Script -> Object -> Column -> Add 的 Value修改为:

%20:COLUMN% [%COMPUTE%?AS (%COMPUTE%):%20:DATATYPE% [%IDENTITY%?%IDENTITY%:[%NULL%][%NOTNULL%]][ default %DEFAULT%]
     [[constraint %CONSTNAME%] check (%CONSTRAINT%)]]/*%COLNNAME%*/

其中的%COLNNAME%就是列的Name值(可以是中文)

5、修改外键命名规则。
选择Database—>Edit Current DBMS
选择Scripts-》Objects-》Reference-》ConstName
可以发现右侧的Value为:

FK_%.U8:CHILD%_%.U9:REFR%_%.U8:PARENT%

可见,该命名方法是:'FK_'+8位子表名+9位Reference名+8位父表名,你可以根据这中模式自定义为:

FK_%.U7:CHILD%_RELATIONS_%.U7:PARENT%,

可以使FK名称变为FK_TABLE_2_RELATIONS_TABLE_1
掌握这种方法后就可以按照自己的想法修改了

生成建库脚本SQL文件中的表头注释很讨厌,可以在 Databse -> Generate Database (Ctrl+G)窗口中,选择Options卡片,去掉Usage的Title钩选项即可。

6、添加外键
Model -> References新建一条外键后,双击进入外键属性,在“Joins”卡片中可以选择子表的外键字段。如下图:
\
接着出现如下画面:
\
按照步骤操作即可。

7、取消name和code联动
在修改name的时候,code的值将跟着变动,很不方便。修改方法:PowerDesign中的选项菜单里修改,在[Tool]-->[General Options]->[Dialog]->[Operating modes]->[Name to Code mirroring],这里默认是让名称和代码同步,将前面的复选框去掉就行了。如图:
\



编写相关的VBS脚本在PowerDesign里自定义一些命令与操作等,具体的可以参考C:\Program Files\Sybase\PowerDesigner 9\VB Scripts目录下的脚本示例。怎么运用这些脚本呢?
在Tools-》Execute Commands里可以进行操作。具体说明在帮助里写的很清楚。帮助的位置在 PowerDesigner General Features Guide-> PART 2. Modeling Guide->CHAPTER 8. Managing Objects->Accessing objects using VBScript->VBScript uses in PowerDesigner

PowerDesign的使用主要是DBMS的配置
1、修改建表脚本生成规则。如果每个表格都有相同的字段,可以如下修改:
Database -> Edit Current DBMS 展开 Script -> Object -> Table -> Create 见右下的Value值,可以直接修改如下:

/* tablename: %TNAME% */
create table [%QUALIFIER%]%TABLE% (
   %TABLDEFN%
   ts                   char(19)             null default convert(char(19),getdate(),20),
   dr                   smallint             null default 0
)
[%OPTIONS%]

其中的 ts、dr 两列会在生成SQL脚本的时候自动的插入每个表格中,其中的%TNAME% 变量是给每个表格的SQL添加一个该表的Name值注释。

2、修改字段生成规则。要给每个字段都添加一个注释的话,同一窗口中展开 Script -> Object -> Column -> Add 的 Value修改为:

%20:COLUMN% [%COMPUTE%?AS (%COMPUTE%):%20:DATATYPE% [%IDENTITY%?%IDENTITY%:[%NULL%][%NOTNULL%]][ default %DEFAULT%]
     [[constraint %CONSTNAME%] check (%CONSTRAINT%)]]/*%COLNNAME%*/

其中的%COLNNAME%就是列的Name值(可以是中文)

3、修改外键命名规则。选择Database—>Edit Current DBMS
选择Scripts-》Objects-》Reference-》ConstName
可以发现右侧的Value为:

FK_%.U8:CHILD%_%.U9:REFR%_%.U8:PARENT%

可见,该命名方法是:'FK_'+8位子表名+9位Reference名+8位父表名,你可以根据这中模式自定义为:

FK_%.U7:CHILD%_RELATIONS_%.U7:PARENT%,

可以使FK名称变为FK_TABLE_2_RELATIONS_TABLE_1
掌握这种方法后就可以按照自己的想法修改了

生成建库脚本SQL文件中的表头注释很讨厌,可以在 Databse -> Generate Database (Ctrl+G)窗口中,选择Options卡片,去掉Usage的Title钩选项即可。

4、添加外键
Model -> References新建一条外键后,双击进入外键属性,在“Joins”卡片中可以选择子表的外键字段

5、去掉生成的SQL脚本双引号的问题:ORACLE 8I2::Script\Sql\Format\CaseSensitivityUsingQuote改成No,默认是Yes所以会有双引号。

在修改name的时候,code的值将跟着变动,很不方便。修改方法:PowerDesign中的选项菜单里修改,在[Tool]-->[General Options]->[Dialog]->[Operating modes]->[Name to Code mirroring],这里默认是让名称和代码同步,将前面的复选框去掉就行了。

作者“失传已久的大海”

### PowerDesigner 导出 SQL 文件时中文乱码解决方案 在使用 PowerDesigner 工具导出 SQL 脚本的过程中,如果遇到中文乱码问题,可以通过调整工具的编码设置来解决问题。以下是具体的解决方法: #### 方法一:通过 Generate Database 设置编码 在 PowerDesigner 的界面中,可以手动配置生成 SQL 文件时使用的字符集编码。具体操作如下: 1. 打开 PDM 文件。 2. 依次点击菜单栏中的 `Database` -> `Generate Database...`。 3. 在弹出的窗口中切换到 `Format` 页面下的 `Text Formatting` 部分。 4. 将编码选项更改为 `UTF8` 或其他支持中文的编码方式[^1]。 完成以上设置后重新生成 SQL 文件,此时文件中的中文内容应该能够正常显示。 #### 方法二:修改 DBMS 配置文件 对于某些版本的 PowerDesigner,默认并未提供直接更改编码的功能。这种情况下,可以通过编辑对应的 DBMS 配置文件实现自定义编码的支持。具体步骤如下: 1. 定位至 PowerDesigner 安装目录下的 `\Resource Files\DBMS\` 文件夹。 2. 查找目标数据库类型的 `.xdb` 文件(例如 MySQL 对应的是 `mysql50.xdb`)并打开它。 3. 在该文件中找到类似以下的一行代码: ```plaintext checksum = %d : list = 0 | 1, default = 0 ``` 4. 在此行前后新增一行用于指定字符集编码的内容,例如: ```plaintext charset = %s : list = UTF8 | GBK | GB2312, default = UTF8 ``` 上述语句的作用是指定默认字符集为 UTF8,并允许用户选择其他兼容的编码形式[^3]。 保存修改后的文件再尝试导出 SQL,则可有效避免因编码不匹配引发的乱码现象。 #### 方法三:外部处理已生成的 SQL 文件 假如已经完成了 SQL 文件的创建却仍然存在乱码情况,也可以借助文本编辑器进行后续修正。推荐做法是利用 Windows 自带的记事本或其他高级编辑软件加载原始文档,并将其另存为带有明确声明的 Unicode 编码格式(即 UTF-8)。需要注意的是,在执行此类转换之前最好备份原版数据以防万一丢失重要信息[^2]。 另外值得注意的一个细节在于,确保整个开发环境中所涉及的所有组件均采用一致性的编码标准;比如当项目组成员之间共享资源或者跨平台部署应用的时候尤其要关注这一点。 ```vbscript ' 下面是一个简单的 VBS 脚本来批量重命名表名和字段名为注释内容的例子 Dim Tab ' running table for each Tab in folder.tables if Not tab.isShortcut Then If Len(tab.Comment) <> 0 Then tab.Name = tab.Comment End If On Error Resume Next Dim col ' running column for each col in tab.Columns For Each col In tab.Columns If Len(col.Comment) <> 0 Then col.Name = col.Comment End If Next End If ``` 上述脚本可用于特定场景下自动化更新对象名称以便更好地管理和维护复杂的数据模型[^4]。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值