PD(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所以會有雙引號。