トリガー

テーブル

Oracle トリガーの有効化・無効化と確認方法

Oracleで業務データを守るために活用されるトリガー(Trigger)。しかし、開発やメンテナンス中に一時的に無効化したい場面もあります。本記事では、トリガーの無効化・再有効化の方法に加え、有効/無効の状態確認方法(DBA_TRIGGER...
SQL

OracleでDROP操作を安全に制御!

重要なテーブルを誤ってDROPしてしまう…。そんな悲劇を防ぎつつ、操作ログも残したいというニーズに応えるのが「DDLトリガー+自律トランザクション」の組み合わせです。この記事では、ログ記録を別スキーマに逃がす構成でORA-600などのリスク...
SQL

OracleでDELETE操作をブロックするトリガー活用術

重要な業務テーブルに対してうっかり DELETE してしまう…。その一瞬のミスが、取り返しのつかない損失を生むこともあります。本記事では、Oracleのトリガーを用いてDELETE操作を確実にブロックする方法と、UPDATE・INSERTな...
SQL

Oracleトリガー活用術②

前回の記事では、Oracleユーザー USER_A がスキーマ内で利用できるDMLトリガーとBEFORE INSERTトリガーを紹介しました。今回はその続編として、USER_A が作成可能なスキーマレベルの以下の2つのトリガーを紹介します:...
SQL

Oracleトリガーが「コンパイルエラー」で作成された理由とは?

Oracleのトリガーは非常に強力な仕組みですが、構文ミスがあっても「作成されてしまう」ため、油断すると動かないトリガーが放置されることになりがちです。この記事では、実際に遭遇したトリガーのコンパイルエラー(ORA-00920)の原因と、正...
テーブル

Oracleトリガー活用術①

Oracleには「トリガー(Trigger)」という便利な仕組みがあります。トリガーを使えば、INSERTやUPDATEなどの操作に対して、自動的に処理を実行することができます。この記事では、Oracleユーザー USER_A が自分のスキ...
トリガー

ログインユーザー別に初期化パラメータを変更する方法(ALTER SESSION+ログイントリガー)

Oracle Database では、ログインユーザーごとにセッション単位の初期化パラメータを自動変更することが可能です。AFTER LOGON トリガーと ALTER SESSION を組み合わせることで、ログイン時にユーザーごとの設定を...