oracle触発器で記録表に記録を追加する問題
指定されたユーザーの下の指定表に対して操作記録を作成したいです。ロゴテーブルがあります。
フィールド タイプ
id。 number
obajid varrrhar 2(50) --操作テーブルのIDフィールド
objname varrrhar 2(20) --操作表の名前
optine varcher 2(20) --操作タイプ(添削)
createtime ダテ --ログ作成時間
需要とは、ユーザーの下の指定テーブルを削除して修正すると、ロゴテーブルに操作記録を追加するトリガーを作成することです。インターネットで探してみましたが、必要な答えがなかなか見つかりませんでした。どうすれば操作表のID番号と進行中の操作が自動的に分かりますか?
具体的な操作は以下の通りです。
次のようにトリガーを作成します。
トンホtest:その表をトリガーする
for each row:行段トリガー
begin....end:具体的な操作手順
ここで、new.idはinsert後のID番号を指し、old.idは更新または削除後のID番号を指します。seqlogid.nextvalはシリアルナンバーを指しています。seq_というq名を確立したいです。ロゴのシリアル番号
フィールド タイプ
id。 number
obajid varrrhar 2(50) --操作テーブルのIDフィールド
objname varrrhar 2(20) --操作表の名前
optine varcher 2(20) --操作タイプ(添削)
createtime ダテ --ログ作成時間
需要とは、ユーザーの下の指定テーブルを削除して修正すると、ロゴテーブルに操作記録を追加するトリガーを作成することです。インターネットで探してみましたが、必要な答えがなかなか見つかりませんでした。どうすれば操作表のID番号と進行中の操作が自動的に分かりますか?
具体的な操作は以下の通りです。
次のようにトリガーを作成します。
create or replace trigger tr_test
after update or delete or insert
on t_test
for each row
begin
if inserting then
insert into t_logs values(seq_logid.nextval,:new.id,'t_test','insert',sysdate);
elsif updating then
insert into t_logs values(seq_logid.nextval,:old.id,'t_test','update',sysdate);
elsif deleting then
insert into t_logs values(seq_logid.nextval,:old.id,'t_test','delete',sysdate);
end if;
end;[
tr.test:トリガーの名前トンホtest:その表をトリガーする
for each row:行段トリガー
begin....end:具体的な操作手順
ここで、new.idはinsert後のID番号を指し、old.idは更新または削除後のID番号を指します。seqlogid.nextvalはシリアルナンバーを指しています。seq_というq名を確立したいです。ロゴのシリアル番号