我们克隆了一个架构" 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;