私は、オブジェクトがスキーマに作成され、誰によって作成されたかという情報を記録する1つの監査テーブルを作成しました。DDL Trigger Oracle
[email protected]> create table create_audit
2 (created_Date date,
3 object_type varchar2(30),
4 object_name varchar2(30),
5 created_by varchar2(20));
これは、私が作成したトリガーです:
1 create or replace trigger create_trg_audit
2 after create on schema
3 begin
4 insert into create_audit values
5 (sysdate, ora_dict_obj_typ, ora_dict_obj_name , ora_dict_obj_owner);
6* end create_trg_audit;
このDDLトリガを作成しながら、私はエラーの下に受けています:
[email protected]> show error
Errors for TRIGGER CREATE_TRG_AUDIT:
LINE/COL ERROR
-------- -----------------------------------------------------------------
2/5 PL/SQL: SQL Statement ignored
3/16 PL/SQL: ORA-00984: column not allowed here
は、我々は、挿入コマンドを与えることはできませんDDLトリガで?
[email protected]> select object_type, object_name ,owner from all_objects where last_ddl_time > sysdate-10;
ありがとうアレックス。今は私にはっきりしている。 – Wolfgang