我正在开发Sping Boot 应用程序,作为数据库,我使用Oracle。使用名称“ACTIVATION_MS”创建架构,然后将其重命名为ACTIVATION_MS_DEV,但标识列的架构名称未更改。示例:ID NUMBER(38)default“ACTIVATION_MS”.“ISEQ$$_108264”.nextval生成为标识当我想插入行到表中时,它说“sequence not found”,因为模式名称没有改变。我怎样才能改变模式名,在序列名之前删除它而不重新创建表?
hc2pp10m1#
我怎样才能改变模式名,在序列名之前删除它而不重新创建表?正如您所发现的,重命名模式只影响顶级对象所有权。它不会调整对象内代码中嵌入的任何内容,因此必须替换标识列、触发器、视图、存储过程或任何其他具有包含所属架构名称的嵌入式PL/SQL的对象。您需要使用新的标识列重新创建表,或者在表中删除并重新创建标识列。
1条答案
按热度按时间hc2pp10m1#
我怎样才能改变模式名,在序列名之前删除它而不重新创建表?
正如您所发现的,重命名模式只影响顶级对象所有权。它不会调整对象内代码中嵌入的任何内容,因此必须替换标识列、触发器、视图、存储过程或任何其他具有包含所属架构名称的嵌入式PL/SQL的对象。您需要使用新的标识列重新创建表,或者在表中删除并重新创建标识列。