使用PowerDesigner生成數(shù)據(jù)庫建表SQL腳本時,尤其是Oracle數(shù)據(jù)庫時,表名一般會帶引號。其實加引號是PL/SQL的規(guī)范,數(shù)據(jù)庫會嚴格按照“”中的名稱建表,如果沒有“”,會按照ORACLE默認的設(shè)置建表(DBA STUDIO里面),默認是全部大寫,這樣,在ORACLE數(shù)據(jù)庫里的字段就如“Column_1”。如果你把引號去掉,ORACLE自動默認為全部大寫,即“COLUMN_1”,所以這段SQL在PL/SQL中執(zhí)行的時候是沒有任何問題的,如果不加引號,在PL/SQL會自動識別為大寫。如果加了引號,sql或者hql查詢“Column_1='XXX'”時,就會報錯:ORA-00904: "COLUMN_1": 無效的標(biāo)識符,除非寫為“‘Column_1’='XXX'”。
這個問題是生成腳本格式的問題,因此,我們可以嘗試在DBMS配置文件中修改相應(yīng)的格式設(shè)置來解決這個問題。選擇DBMS Properties,選擇Script->Sql->Format,有一項CaseSensitivityUsingQuote,它的 comment為“Determines if the case sensitivity for identifiers is managed using double quotes”,表示是否適用雙引號來規(guī)定標(biāo)識符的大小寫,可以看到右邊的values默認值為“YES”,改為“No”,點擊【應(yīng)用】按鈕。
這個問題是生成腳本格式的問題,因此,我們可以嘗試在DBMS配置文件中修改相應(yīng)的格式設(shè)置來解決這個問題。選擇DBMS Properties,選擇Script->Sql->Format,有一項CaseSensitivityUsingQuote,它的 comment為“Determines if the case sensitivity for identifiers is managed using double quotes”,表示是否適用雙引號來規(guī)定標(biāo)識符的大小寫,可以看到右邊的values默認值為“YES”,改為“No”,點擊【應(yīng)用】按鈕。