アプリ版:「スタンプのみでお礼する」機能のリリースについて

お世話になります。
oracleにDDLトリガーを作成したいのですが、エラーが出て作成出来ません。
AFTER DDL on DATABASEのAFTERのところで
エラー内容:「ORA-04072: トリガー型が無効です」 が発生します。
試しに、AFTER insert にするとここの部分は通るのですが、作成したいのはCREATEやDROPの時に起動するDDLトリガーなのです。
ちなみに、AFTER create or drop としても同じエラーが発生します。

ネットやoracleのリファレンスも見ましたが今だ解決出来ないでおりますので、ぶしつけな質問なのですが、どこが悪いのか教えて戴きたいです。
-- 作成するトリガーは下記となります -------------------------------------
CREATE OR REPLACE TRIGGER
SYS.AFTER_DDL_EVENT AFTER DDL on DATABASE
WHEN (ora_sysevent not in ('AUDIT','TRUNCATE'))
DECLARE
VCW_MODULE varchar2(48) := null;
NW_CNT number := 0;
BEGIN
insert into ログ格納テーブル
・・・
if ( ora_sysevent = 'CREATE' ) then
・・・
elsif ( ora_sysevent = 'DROP' ) then
・・・
end if;
END;
/
です。CREATEやDROPが発生した時にログを残したいのです。
oracle8ではDDLトリガーは作成出来ないってことは無いですよねぇ・・・。
環境は、oracle8、windowsNTサーバー
以上、誰か教えて~

A 回答 (1件)

残念ですが、DDLトリガーは8i以降の機能です。

    • good
    • 0
この回答へのお礼

ホントですかー!?
8のリファレンス見ても記載されていない訳ですね。

今確認したところ、8iのSQLリファレンスにはトリガー型でDDLの記述がありましたが、8のSQLリファレンスにはDDLの記述がありませんでした。
SQLリファレンスの違いを見ればよかったのですね。
ありがとう御座いました!

お礼日時:2008/05/21 16:19

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

関連するカテゴリからQ&Aを探す