使用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发出带有引号的名称,而将所有其他名称保留下来?