使用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”,點擊【應用】按鈕。
這個問題是生成腳本格式的問題,因此,我們可以嘗試在DBMS配置文件中修改相應的格式設置來解決這個問題。選擇DBMS Properties,選擇Script->Sql->Format,有一項CaseSensitivityUsingQuote,它的 comment為“Determines if the case sensitivity for identifiers is managed using double quotes”,表示是否適用雙引號來規定標識符的大小寫,可以看到右邊的values默認值為“YES”,改為“No”,點擊【應用】按鈕。