Toad / Import Utility / Import User to User仍会在触发器中引用旧用户的架构

时间:2016-06-28 07:47:01

标签: oracle import psql toad

到目前为止,我知道将架构导入另一个数据库的最快方式是通过Toad for Oracle的“导入/导出实用程序”。

但是,每次我们从架构A导入到架构B(选择导入用户)时,触发器仍会引用旧架构。

例如,导入过程尝试运行此代码:

CREATE OR REPLACE TRIGGER B.CONTACT_DETAILS_bir 
 BEFORE INSERT ON A.CONTACT_DETAILS FOR EACH ROW
BEGIN
   SELECT A.CONTACT_DETAILS_seq.NEXTVAL
   INTO   :new.id
   FROM   dual;
 END;
/

毋庸置疑,脚本失败,因为目标数据库中不存在A.CONTACT_DETAILS。

无论如何都要避免这种不匹配?

1 个答案:

答案 0 :(得分:1)

我已经问过负责Toad这个区域的开发人员,这是他的回应;他不在StackOverflow上。

  

Import Utility实际上是Oracle产品。蟾蜍给你   用于创建运行命令的GUI。 IMP没有参数   我知道哪个会解析你的触发器并改变它们   指向新架构。我不确定,但我不这么认为   甲骨文会认为这是一个错误。一种可以防止问题的方法   是在触发器代码中根本没有指定模式名称。在那里面   例如,触发器将假定该表在同一模式中。