在我们的测试环境中,模式会按照人们的预期添加到触发器DDL之前。但是,在我们的QA和PROD环境中,架构前缀不会显示在DDL中。我们总是以" SCHEMA"用户因此到目前为止还没有成为问题。是否值得更新QA和PROD DDL以包含模式前缀?如果我们没有以" SCHEMA"以外的用户/架构连接到数据库,我们真的有什么可担心的吗?
TEST DDL:
create or replace TRIGGER "SCHEMA"."MDATA_BIR_TRG"
BEFORE INSERT ON "SCHEMA"."METADATA"
FOR EACH ROW
BEGIN
---CODE HERE.
END;
QA DDL:
create or replace TRIGGER "MDATA_BIR_TRG"
BEFORE INSERT ON "METADATA"
FOR EACH ROW
BEGIN
---CODE HERE.
END;
答案 0 :(得分:2)
我同意omeinusch的架构名称并不重要(只要当前架构与对象所在的架构相同)。无需重新编译触发器并使其完全合格。
导出对象的DDL的常用方法是使用SQL Developer的导出向导,该向导允许您指示对象的DDL是否是模式限定的。
从SQL Developer导出向导获取DDL的说明
答案 1 :(得分:1)
不,SCHEMA是可选的,只有在您希望确保处理对象属于已定义的架构时才需要。如果你不在乎"并且总是使用意味着您当前的架构,您可以省略它。