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”,点击确定。在弹出的确认对话框中点击确认,即可。这样保存后再次生成脚本,将不会生成引号标识。

相关内容