我正在使用 11GR2
我正在尝试查看触发器的定义,但是在检查结果时,我在触发器的末尾看到了额外的行 ALTER TRIGGER "USER"."EMP" ENABLE ....我不想看到这条线以及“用户”。如何使用正则表达式从我的 DDL 结果中删除它们?
我的查询以查看没有用户名的触发器定义:
SELECT REGEXP_REPLACE ( REPLACE ( dbms_metadata.get_ddl ('TRIGGER', 'TRIGGER_NAME'), '""USER"".'),'^\s+', NULL, 1, 0, 'm') FROM dual
结果:
CREATE OR REPLACE TRIGGER "USER"."EMP"
BEFORE INSERT OR UPDATE
of salary
on employee
for each row
declare
v_error VARCHAR2(20);
begin
if :new.salary > 10
then
v_error:=:old.first_name||' cannot have that much!';
raise_application_error(-20999,v_error);
end if;
end;
ALTER TRIGGER "USER"."EMP" ENABLE
预期结果:
CREATE OR REPLACE TRIGGER "EMP"
BEFORE INSERT OR UPDATE
of salary
on employee
for each row
declare
v_error VARCHAR2(20);
begin
if :new.salary > 10
then
v_error:=:old.first_name||' cannot have that much!';
raise_application_error(-20999,v_error);
end if;
end;