Oracle触发器替换

时间:2016-12-25 17:05:20

标签: sql oracle database-trigger

我们克隆了一个架构" old_schema_name"到名为" new_schema_name"的新模式。但由于引用旧模式名称的触发器(和过程),我们必须删除触发器以使旧模式不受影响。 例如:我们在Schema" New_schema_name"上有以下触发器(被删除)。 ,我们想要更新此触发器,以便它不引用" old_schema_name"。

只是添加触发器(通过创建或替换触发器)足以激活此触发器?

DROP TRIGGER NEW_SCHEMA_NAME.TRG_UPDATE_SOMETHING;

CREATE OR REPLACE TRIGGER NEW_SCHEMA_NAME.TRG_UPDATE_SOMETHING
BEFORE DELETE OR INSERT OR UPDATE
ON OLD_SCHEMA_NAME.SOME_CONFIG REFERENCING NEW AS New OLD AS Old
FOR EACH ROW
DISABLE
DECLARE
tmpVar NUMBER;

BEGIN
tmpVar := 0;
SELECT someseq.nextval INTO tmpVar FROM dual;
UPDATE UPDATE_VERSION SET counter = tmpVar, upd_time= sysdate WHERE id =      'SomeID';   
EXCEPTION
WHEN OTHERS THEN
    RAISE;
END TRG_UPDATE_SOMETHING;

0 个答案:

没有答案