导出SQL脚本时,如何有条件地引用以数字开头的对象名称?

时间:2019-09-20 00:19:16

标签: powerdesigner

使用PowerDesigner 16.5,我试图从已从现有Oracle架构反向的模型中导出SQL脚本。此架构中的某些对象名称以数字开头。导出脚本时,这些对象名称会逐字发出(通常是您想要的),但是对象名称中的前导数字会导致对SQL语句的解析不正确。

例如,

create table MY_SCHEMA.FOO_1234_ACTION
(
  MY_ID NUMBER not null,
  MY_COLUMN VARCHAR2(32)
)
/

alter table MY_SCHEMA.FOO_1234_ACTION
  add constraint 1234_ACTION_PK primary key (MY_ID)
/

在上面的示例中,约束名称以一个数字开头,导致该语句的解析错误,从而导致ORA-0902数据类型无效。如果我手动编辑脚本以引用约束名称,则会正确解析该语句并更改表,并添加主键:

alter table MY_SCHEMA.FOO_1234_ACTION
   add constraint "1234_ACTION_PK" primary key (MY_ID)
/

我知道也许可以简单地更改名称,但是我正在尝试从我们拥有的架构中建立基线,以便将其迭代为所需的名称。

我已经查看了Oracle数据库定义的选项以及模型本身上可能影响脚本输出的选项(如命名约定)。在对象名称带有前导数字的情况下,是否有任何方法可以使PowerDesigner发出带有引号的名称,而将所有其他名称保留下来?

0 个答案:

没有答案