Trigger Development Jp
Default Value Trigger
DECLARE E_IRREGULAR EXCEPTION; -- Replace the default exception DUP_VAL_ON_INDEX PRAGMA EXCEPTION_INIT(E_IRREGULAR, -1); BEGIN IF (:NEW.ID IS NOT NULL) THEN RAISE E_IRREGULAR; END IF; SELECT ARTICLE_PK_SN.NEXTVAL INTO :NEW.ID FROM DUAL; -- the following syntax is available from 11g -- NEW.ID := ARTICLE_PK_SN.NEXTVAL; END;
システム・マネジャ・イベント
| イベント | 起動するタイミング | 条件 | 制限事項 | トランザクション | 属性関数 |
|---|---|---|---|---|---|
| STARTUP | データベースのオープン時 | なし | トリガーではデータベース処理はできません。 | トリガーの起動後、別のトランザクションを開始してこれをコミットします。 | ora_sysevent |
| ora_login_user | |||||
| 戻り状態は無視されます。 | ora_instance_num | ||||
| ora_database_name | |||||
| SHUTDOWN | サーバーがインスタンス停止を開始する直前 | なし | トリガーではデータベース処理はできません。 | トリガーの起動後、別のトランザクションを開始してこれをコミットします。 | ora_sysevent |
| ora_login_user | |||||
| これによって、カートリッジを完全に停止できます。インスタンスの異常停止の場合は、このイベントは起動されない場合があります。 | 戻り状態は無視されます。 | ora_instance_num | |||
| ora_database_name | |||||
| DB_ROLE_CHANGE | ロール変更後、初めてのデータベースのオープン時 | なし | 戻り状態は無視されます。 | トリガーの起動後、別のトランザクションを開始してこれをコミットします。 | ora_sysevent |
| ora_login_user | |||||
| ora_instance_num | |||||
| ora_database_name | |||||
| SERVERERROR | enoエラーの発生時条件が指定されない場合、このイベントは任意のエラーが発生したときに起動します。 | ERRNO = eno | エラーに依存します。 | トリガーの起動後、別のトランザクションを開始してこれをコミットします。 | ora_sysevent |
| ora_login_user | |||||
| ORA-1034、ORA-1403、ORA-1422、ORA-1423およびORA-4030の場合、トリガーは起動されません。本当のエラーでないか、または問題が深刻で処理を続行できないためです。また、ORA-18およびORA-20の場合もトリガーは起動されません。プロセスで、データベースに接続してエラーを記録することができないためです。 | 戻り状態は無視されます。 | ora_instance_num | |||
| ora_database_name | |||||
| ora_server_error | |||||
| ora_is_servererror | |||||
| space_error_info | |||||
クライアント・イベント
| イベント | 起動するタイミング | 属性関数 |
|---|---|---|
| BEFORE ALTER | カタログ・オブジェクトの変更時 | ora_sysevent |
| ora_login_user | ||
| AFTER ALTER | ora_instance_num | |
| ora_database_name | ||
| ora_dict_obj_type | ||
| ora_dict_obj_name | ||
| ora_dict_obj_owner | ||
| ora_des_encrypted_password | ||
| (for ALTER USER events) | ||
| ora_is_alter_column | ||
| (for ALTER TABLE events) | ||
| ora_is_drop_column | ||
| (for ALTER TABLE events) | ||
| BEFORE DROP | カタログ・オブジェクトの削除時 | ora_sysevent |
| ora_login_user | ||
| AFTER DROP | ora_instance_num | |
| ora_database_name | ||
| ora_dict_obj_type | ||
| ora_dict_obj_name | ||
| ora_dict_obj_owner | ||
| BEFORE ANALYZE | 分析文の発行時 | ora_sysevent |
| ora_login_user | ||
| AFTER ANALYZE | ora_instance_num | |
| ora_database_name | ||
| ora_dict_obj_name | ||
| ora_dict_obj_type | ||
| ora_dict_obj_owner | ||
| BEFORE ASSOCIATE STATISTICS | 関連統計文の発行時 | ora_sysevent |
| ora_login_user | ||
| AFTER ASSOCIATE STATISTICS | ora_instance_num | |
| ora_database_name | ||
| ora_dict_obj_name | ||
| ora_dict_obj_type | ||
| ora_dict_obj_owner | ||
| ora_dict_obj_name_list | ||
| ora_dict_obj_owner_list | ||
| BEFORE AUDIT | 監査または非監査文の発行時 | ora_sysevent |
| AFTER AUDIT | ora_login_user | |
| ora_instance_num | ||
| BEFORE NOAUDIT | ora_database_name | |
| AFTER NOAUDIT | ||
| BEFORE COMMENT | オブジェクトへのコメントの追加時 | ora_sysevent |
| ora_login_user | ||
| AFTER COMMENT | ora_instance_num | |
| ora_database_name | ||
| ora_dict_obj_name | ||
| ora_dict_obj_type | ||
| ora_dict_obj_owner | ||
| BEFORE CREATE | カタログ・オブジェクトの作成時 | ora_sysevent |
| ora_login_user | ||
| AFTER CREATE | ora_instance_num | |
| ora_database_name | ||
| ora_dict_obj_type | ||
| ora_dict_obj_name | ||
| ora_dict_obj_owner | ||
| ora_is_creating_nested_table | ||
| (for CREATE TABLE events) | ||
| BEFORE DDL | ほとんどのSQL DDL文の発行時。アドバンスト・キューの作成などのPL/SQLプロシージャ・インタフェースを介して発行されたALTER DATABASE、CREATE CONTROLFILE、CREATE DATABASEおよびDDLに対しては起動されません。 | ora_sysevent |
| ora_login_user | ||
| AFTER DDL | ora_instance_num | |
| ora_database_name | ||
| ora_dict_obj_name | ||
| ora_dict_obj_type | ||
| ora_dict_obj_owner | ||
| BEFORE DISASSOCIATE STATISTICS | 非関連統計文の発行時 | ora_sysevent |
| ora_login_user | ||
| AFTER DISASSOCIATE STATISTICS | ora_instance_num | |
| ora_database_name | ||
| ora_dict_obj_name | ||
| ora_dict_obj_type | ||
| ora_dict_obj_owner | ||
| ora_dict_obj_name_list | ||
| ora_dict_obj_owner_list | ||
| BEFORE GRANT | 権限付与文の発行時 | ora_sysevent |
| ora_login_user | ||
| AFTER GRANT | ora_instance_num | |
| ora_database_name | ||
| ora_dict_obj_name | ||
| ora_dict_obj_type | ||
| ora_dict_obj_owner | ||
| ora_grantee | ||
| ora_with_grant_option | ||
| ora_privileges | ||
| BEFORE LOGOFF | ユーザー・ログオフの開始時 | ora_sysevent |
| ora_login_user | ||
| ora_instance_num | ||
| ora_database_name | ||
| AFTER LOGON | ユーザーが正常にログインした後 | ora_sysevent |
| ora_login_user | ||
| ora_instance_num | ||
| ora_database_name | ||
| ora_client_ip_address | ||
| BEFORE RENAME | 名前の変更文の発行時 | ora_sysevent |
| ora_login_user | ||
| AFTER RENAME | ora_instance_num | |
| ora_database_name | ||
| ora_dict_obj_name | ||
| ora_dict_obj_owner | ||
| ora_dict_obj_type | ||
| BEFORE REVOKE | 取消し文の発行時 | ora_sysevent |
| ora_login_user | ||
| AFTER REVOKE | ora_instance_num | |
| ora_database_name | ||
| ora_dict_obj_name | ||
| ora_dict_obj_type | ||
| ora_dict_obj_owner | ||
| ora_revokee | ||
| ora_privileges | ||
| AFTER SUSPEND | 領域不足状態のためSQL文が一時停止された後。トリガーは、文が再開されるようにこの状態を修正する必要があります。 | ora_sysevent |
| ora_login_user | ||
| ora_instance_num | ||
| ora_database_name | ||
| ora_server_error | ||
| ora_is_servererror | ||
| space_error_info | ||
| BEFORE TRUNCATE | オブジェクトの切捨て時 | ora_sysevent |
| ora_login_user | ||
| AFTER TRUNCATE | ora_instance_num | |
| ora_database_name | ||
| ora_dict_obj_name | ||
| ora_dict_obj_type | ||
| ora_dict_obj_owner | ||
page_revision: 3, last_edited: 1239765467|%e %b %Y, %H:%M %Z (%O ago)





