1. 程式人生 > >PowerDesigner物理模型生成資料表無comment問題

PowerDesigner物理模型生成資料表無comment問題

在PowerDesigner物理模型生成資料表時,沒有comment;

也看了網上諸多教程,不清楚別人最後怎麼生成comment的,最後來說說我的解決辦法。

在物理模型Table右鍵properties-->Columns-->選下圖紅框按鈕/Ctrl+U快捷鍵 到Customize Columns and Filter可自定義顯示的列。概念模型是沒有column列的,生成的時候我不清楚是否會生成Name列到物理模型的Comment列。然而我這是有一個欄位有comment。。。


上面只是解決辦法的一個步驟了,然後知道跟我的問題沒屁關係,總不能我再一個個Name複製到Comment了。然後諸般無果,還是瞭解到了:生成資料表時,是將Name賦值到Comment。

這篇教程:https://www.cnblogs.com/xnxylf/p/3288718.html,追溯到最源頭

http://www.cnblogs.com/netsql/archive/2010/05/24/1742734.html,我的報錯與下面評論截圖的大兄弟是一樣的。

不過聽另一個同事在物理模型下跑指令碼成功了。

網上教程:頂部選單Database->Edit Current DBMS... 選擇Script->Objects->Column,然後一下內容都是在Column下操作。

Add的內容為:%20:COLUMN% [%National%?national ]%DATATYPE%[%Unsigned%? unsigned][%ZeroFill%? zerofill][ [.O:[character set][charset]] %CharSet%][.Z:[ %NOTNULL%][%R%?[%PRIMARY%]][%IDENTITY%? auto_increment:[ default %DEFAULT%]][ comment %.q:@OBJTLABL%]]

說是修改@OBJTLABL為@COLNNAME,然後就報錯了。(原來這就是解決的辦法,是我不細心啊,把@OBJTLABL改為@COLNNAME,實際是把@OBJTLABL改為COLNNAME

另一種辦法

ColumnComment,將ColumnComment的原始內容:

[%QUALIFIER%]%TABLE%.%COLUMN% is %.q:COMMENT%
變更為
comment on column [%QUALIFIER%]%TABLE%.%COLUMN% is %.q:COLNNAME%

然而我的ColumnComment原來是空的,按上面方法修改,生成的表指令碼後有那麼多條comment on column table.columnName is 'columnComment';

那這也沒用不是,那也還是要自己複製comment;

現在知道在Column那裡修改是可以改變表結構的。之前修改Add那裡@OBJTLABL為@COLNNAME多半是自己沒寫對。

第一種方法:修改Add的內容裡@OBJTLABL為COLNNAME就可以。

%20:COLUMN% [%National%?national ]%DATATYPE%[%Unsigned%? unsigned][%ZeroFill%? zerofill][ [.O:[character set][charset]] %CharSet%][.Z:[ %NOTNULL%][%R%?[%PRIMARY%]][%IDENTITY%? auto_increment:[ default %DEFAULT%]][ comment %.q:COLNNAME%]]

第二種方法:參考修改ColumnComment,那完全可以在表結構之後修改,拼接出修改列註釋資訊的語句。

然而在這裡只是提供一個解決問題的思路,第一種方法顯然更省事,如果非要試試那就參考第一種方法拼出修改列註釋資訊的語句就好。

第三種方法:在物理模型下執行下面教程中的指令碼

http://www.cnblogs.com/netsql/archive/2010/05/24/1742734.html

最後Databases --> Generate Databases...在Format那裡勾上Generate name in empty comment,會將name的內容替換到為空值的comment中。