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;