PowerDesigner生成數據庫建表sql腳本

 一、生成sql server 2000或oracle建表sql腳本
  
  1、新建一個物理模型,通過database菜單下的change current dbms可查看當前所用的DBMS是什麼類型的,比如sql server 2000 或oracle 10g,當前選擇sql server 2000。
  
  2、在新建的dbms爲sql server 2000的物理模型中添加表及關係,通過database菜單下的generate database可將當前DBMS的表結構及關係導出成sql語句。
  
  3、若想將sql server 2000的表結構及關係變成oracl 10g的表結構及關係,可通過Tools菜單下的generate physical data model,再選擇DBMS爲oracle10g,就可生成oracl10g的表結構及關係。
  
  4、若想將oracl10g中的表結構及關係導出成sql語句,執行database菜單下的generate database可將當前DBMS的表結構及關係導出成sql語句。
  
  
  注意:oracle10g生成的sql語句可能表名及字段名存在用引號括起的情況,不用擔心,通過簡單的設置即可解決。
  
  
  
  
  二、PowerDesigner生成數據庫建表sql腳本時出現雙引號解決方法(測試通過的軟件版本爲PowerDesigner V15.1.0.2850)
  
   PowerDesigner生成數據庫建表SQL腳本時,尤其是Oracle數據庫時,表名一般會帶引號。其實加引號是PL/SQL的規範,數據庫會嚴格按照“”中的名稱建表,如果沒有“”,會按照 ORACLE默認的設置建表(DBA STUDIO裏面),默認是全部大寫,這樣,在ORACLE數據庫裏的字段就如“Column_1”。如果你把引號去掉,ORACLE自動默認爲全部大寫,即“COLUMN_1”,所以這段SQL在PL/SQL中執行的時候是沒有任何問題的,如果不加引號,在PL/SQL會自動識別爲大寫。如果加了引號,sql或者hql查詢“Column_1='XXX'”時,就會報錯:ORA-00904: "COLUMN_1": 無效的標識符,除非寫爲“‘Column_1’='XXX'”。 
  
  這個問題是生成腳本格式的問題,因此,我們可以嘗試在DBMS配置文件中修改相應的格式設置來解決這個問題。選擇“DBMS Properties”,選擇Script->Sql->Format,有一項CaseSensitivityUsingQuote,它的comment爲“Determines if the case sensitivity for identifiers is managed using double quotes”,表示是否適用雙引號來規定標識符的大小寫,可以看到右邊的values默認值爲“YES”,改爲“No”,點擊【應用】按鈕。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章