1. 程式人生 > >PowerDesigner生成Oracle表名帶有引號的解決方法

PowerDesigner生成Oracle表名帶有引號的解決方法

PowerDesigner生成表名帶有引號,如下:

/*==============================================================*/
/* Table: "EPPD_B_BILL_INTERCALATE"                              */
/*==============================================================*/


create table "EPPD_B_BILL_INTERCALATE" (
   MATERIAL_PRICE_ID    VARCHAR2(32)                     not null,
   constraint PK_EPPD_B_BILL_INTERCALATE primary key (MATERIAL_PRICE_ID)
)
/


comment on column "EPPD_B_BILL_INTERCALATE".MATERIAL_PRICE_ID is
'材料價格名稱ID(CLJGMCID)'
/

即表名變成我們希望的表名EPPD_B_BILL_INTERCALATE外加引號"EPPD_B_BILL_INTERCALATE"

產生這個問題的主要原因是因為對應的PDM檔案中,對應的表表名中有小寫字母,而Oracle預設應該是大寫字母,所以會用引號進行標識。如本表在PDM中的表名為"EPPD_B_Bill_INTERCALATE",  ill為小寫。

解決方法有兩種:

第一種,就是將表名全部改為大寫,即將其中的ill改成ILL變成EPPD_B_BILL_INTERCALATE

第二種,就是當這種型別的表很多的時候,要改需要較長時間,那可以考慮將這種預設的標識取消掉,取消方法為

選擇Database-> Edit   current   database,選擇Sql-> Format,有一項CaseSensitivityUsingQuote,它的comment為“Determines   if   the   case   sensitivity   for   identifiers   is   managed   using   double   quotes”,表示是否適用雙引號來規定識別符號的大小寫,可以看到右邊的values預設值為“YES”,改為“No”,點選確定。在彈出的確認對話方塊中點選確認,即可。這樣儲存後再次生成指令碼,將不會生成引號標識。