TOP をテンプレートにして作成
ホーム
バックアップ
一覧
検索
最終更新
ヘルプ
ログイン
開始行
FrontPageへ
- リファレンスガイドへ
-- Firebird SQLリファレンスへ
----
* Firebird SQLリファレンス:CREATE EXCEPTION, ALTER EXCEPT...
#contents
----
* CREATE EXCEPTION [#u4a44677]
ストアドプロシージャやトリガで使用する、ユーザー定義の...
この文書は、公開されているIB6のSQLリファレンスを基とし...
** 構文 [#o425e001]
CREATE EXCEPTION name 'message';
※ DSQLで使用する場合、終端文字のセミコロンは不要です。 i...
|~引数|~説明|
|name|例外メッセージと関連付ける名前です。所属するデータ...
|'message'|英数字と句読点で構成された例外メッセージを、シ...
** 詳細の説明 [#vf662c49]
[[CREATE EXCEPTION]] により、例外(メッセージと関連付け...
定義した例外は、データベース内でグローバルなものとなり...
例えば、データベースで例外に対するメッセージとして英語...
トリガまたはストアドプロシージャで例外を発生させた場合、
- そのトリガ、プロシージャの処理は終了します。また、それ...
- エラーメッセージを、呼び出したアプリケーションに返しま...
WHENによりストアドプロシ−ジャやトリガ内における例外トラ...
** 用例 [#k6f43b08]
- 以下、一連の動作になっています。
-- isqlにより、UNKNOWN_EMP_IDという名前の例外を作成します。
CREATE EXCEPTION UNKNOWN_EMP_ID 'Invalid employee number...
-- 以降に定義するストアドプロシージャ内で、SQLCODE -530(F...
. . .
WHEN SQLCODE -530 DO
EXCEPTION UNKNOWN_EMP_ID;
. . .
** 参照 [#mee66646]
[[ALTER EXCEPTION>#alter_exception]] , [[ALTER PROCEDUR...
これ以上の情報が欲しい場合は、Data Definition Guide の ...
&aname(alter_exception);
* ALTER EXCEPTION [#qb6d84b2]
既存の例外に対して、関連付けられたメッセージを変更しま...
この文書は、公開されているIB6のSQLリファレンスを基とし...
** 構文 [#w42a8a09]
ALTER EXCEPTION name 'message'
|~引数|~説明|
|name|例外メッセージと関連付ける既存の例外名です。|
|'message'|英数字と句読点で構成された例外メッセージを、シ...
** 詳細の説明 [#f20f1dbf]
ALTER EXCEPTION により、既存の例外エラーメッセージのテ...
例外の変更が出来るのは、作成者、SYSDBAユーザーまたはOS...
** 用例 [#j3c125b1]
isqlにより、例外のエラーメッセージを変更します。
ALTER EXCEPTION CUSTOMER_CHECK 'Hold shipment for custom...
** 参照 [#h5152ceb]
[[ALTER PROCEDURE>CREATE PROCEDURE#alter_procedure]] , ...
これ以上の情報が欲しい場合は、Data Definition Guide の ...
&aname(drop_exception);
* DROP EXCEPTION [#gfc1a87b]
データベースから例外を削除します。 DSQL,isql で使用でき...
この文書は、公開されているIB6のSQLリファレンスを基とし...
** 構文 [#h4200ab4]
DROP EXCEPTION name
|~引数|~説明|
|name|削除を行う、既存である例外の名前です。|
** 詳細の説明 [#q4f0f8ab]
DROP EXCEPTION により、データベースから例外を削除します。
削除したい例外が既存のプロシ−ジャやトリガで使用されてい...
※ isql で SHOW EXCEPTION コマンドを使用することにより、...
例外の削除を出来るのは、作成者、SYSDBAユーザーおよびOS...
** 用例 [#y07b272e]
isql で例外の削除を行う例です。
DROP EXCEPTION UNKNOWN_EMP_ID;
** 参照 [#y755d715]
[[ALTER EXCEPTION>#alter_exception]], [[ALTER PROCEDURE...
&aname(event_init);
* EVENT INIT [#ke00d710]
データベースエンジンのイベントマネージャにいくつかのイ...
この文書は、公開されているIB6のSQLリファレンスを基とし...
またSQLリファレンスの情報が少ないため、IB6 の Embedded ...
** 構文 [#ra609f92]
EVENT INIT request_name [dbhandle]
[('string' | :variable [, 'string' | :variable …])];
|~引数|~説明|
|request_name|アプリケーションイベントハンドルです。|
|dbhandle|イベント発生を監視するデータベースを指定します...
|'string'|イベントに関連付けられたイベント名です。一意に...
|:variable|文字配列のホスト言語変数でイベント名のリストを...
** 詳細の説明 [#rb837fe4]
EVENT INIT により、データベースエンジンの同期イベントメ...
+ アプリケーションが EVENT INIT により、イベントを登録し...
+ EVENT WAITにより、イベント発生が報告されるまでアプリケ...
アプリケーションは、監視を行いたいイベントのリストを括...
ストアドプロシージャまたはトリガでの POST_EVENT により...
イベントマネージャは、依頼を受けたイベントの追跡を行い...
※訳注 イベント処理のプログラムは、Firebird API を直接叩く...
** 用例 [#md1dbf97]
埋め込みSQLにより、監視するイベントを登録します。
EXEC SQL
EVENT INIT ORDER_WAIT EMPDB ('new_order');
参照
[[CREATE PROCEDURE]] , [[CREATE TRIGGER]] , [[EVENT WAI...
これ以上の情報が欲しい場合、Embedded SQL Guide の event...
&aname(event_wait);
* EVENT WAIT [#z5f16319]
イベント発生が報告されるまでアプリケーションは処理を待...
この文書は、公開されているIB6のSQLリファレンスを基とし...
またSQLリファレンスの情報が少ないため、IB6 の Embedded ...
** 構文 [#f523b048]
EVENT WAIT request_name;
|~引数|~説明|
|request_name|事前に EVENT INIT により宣言された、アプリ...
** 詳細の説明 [#da1d3d2f]
EVENT WAIT により、データベースエンジンの同期イベントメ...
(訳注:1度に監視できるのは、1セットのイベントのみという...
通常の1つのイベントを監視するアプリケーションの場合、...
しかし、複数のイベントを指定して1つの EVENT INIT を実...
以下は、3つのイベント監視を登録後にそのままサスペンド...
EXEC SQL
EVENT INIT RESPOND_MANY ('new_order', 'change_order', '...
EXEC SQL
EVENT WAIT RESPOND_MANY;
/* もし、"new_order","change_order","cancel_order"のイベ...
ポストされて、かつそのトランザクションがコミットされた...
イベントマネージャーはそれをアプリケーションに報告し、...
の処理を再開させます。
続いて、アプリケーションはどのイベント報告を受けたかを...
for (i = 0; i < 3; i++)
{
if (isc_$event[i] > 0)
{
/* this event occurred, so process it */
. . .
}
}
** 用例 [#sc1c776d]
埋め込み SQL で、イベント名を指定して監視イベントの登録...
EXEC SQL
EVENT INIT ORDER_WAIT EMPDB ('new_order');
EXEC SQL
EVENT WAIT ORDER_WAIT;
** 参照 [#e465d34a]
[[EVENT INIT>#event_init]]
これ以上の情報が欲しい場合、Embedded SQL Guide の event...
最終行:
FrontPageへ
- リファレンスガイドへ
-- Firebird SQLリファレンスへ
----
* Firebird SQLリファレンス:CREATE EXCEPTION, ALTER EXCEPT...
#contents
----
* CREATE EXCEPTION [#u4a44677]
ストアドプロシージャやトリガで使用する、ユーザー定義の...
この文書は、公開されているIB6のSQLリファレンスを基とし...
** 構文 [#o425e001]
CREATE EXCEPTION name 'message';
※ DSQLで使用する場合、終端文字のセミコロンは不要です。 i...
|~引数|~説明|
|name|例外メッセージと関連付ける名前です。所属するデータ...
|'message'|英数字と句読点で構成された例外メッセージを、シ...
** 詳細の説明 [#vf662c49]
[[CREATE EXCEPTION]] により、例外(メッセージと関連付け...
定義した例外は、データベース内でグローバルなものとなり...
例えば、データベースで例外に対するメッセージとして英語...
トリガまたはストアドプロシージャで例外を発生させた場合、
- そのトリガ、プロシージャの処理は終了します。また、それ...
- エラーメッセージを、呼び出したアプリケーションに返しま...
WHENによりストアドプロシ−ジャやトリガ内における例外トラ...
** 用例 [#k6f43b08]
- 以下、一連の動作になっています。
-- isqlにより、UNKNOWN_EMP_IDという名前の例外を作成します。
CREATE EXCEPTION UNKNOWN_EMP_ID 'Invalid employee number...
-- 以降に定義するストアドプロシージャ内で、SQLCODE -530(F...
. . .
WHEN SQLCODE -530 DO
EXCEPTION UNKNOWN_EMP_ID;
. . .
** 参照 [#mee66646]
[[ALTER EXCEPTION>#alter_exception]] , [[ALTER PROCEDUR...
これ以上の情報が欲しい場合は、Data Definition Guide の ...
&aname(alter_exception);
* ALTER EXCEPTION [#qb6d84b2]
既存の例外に対して、関連付けられたメッセージを変更しま...
この文書は、公開されているIB6のSQLリファレンスを基とし...
** 構文 [#w42a8a09]
ALTER EXCEPTION name 'message'
|~引数|~説明|
|name|例外メッセージと関連付ける既存の例外名です。|
|'message'|英数字と句読点で構成された例外メッセージを、シ...
** 詳細の説明 [#f20f1dbf]
ALTER EXCEPTION により、既存の例外エラーメッセージのテ...
例外の変更が出来るのは、作成者、SYSDBAユーザーまたはOS...
** 用例 [#j3c125b1]
isqlにより、例外のエラーメッセージを変更します。
ALTER EXCEPTION CUSTOMER_CHECK 'Hold shipment for custom...
** 参照 [#h5152ceb]
[[ALTER PROCEDURE>CREATE PROCEDURE#alter_procedure]] , ...
これ以上の情報が欲しい場合は、Data Definition Guide の ...
&aname(drop_exception);
* DROP EXCEPTION [#gfc1a87b]
データベースから例外を削除します。 DSQL,isql で使用でき...
この文書は、公開されているIB6のSQLリファレンスを基とし...
** 構文 [#h4200ab4]
DROP EXCEPTION name
|~引数|~説明|
|name|削除を行う、既存である例外の名前です。|
** 詳細の説明 [#q4f0f8ab]
DROP EXCEPTION により、データベースから例外を削除します。
削除したい例外が既存のプロシ−ジャやトリガで使用されてい...
※ isql で SHOW EXCEPTION コマンドを使用することにより、...
例外の削除を出来るのは、作成者、SYSDBAユーザーおよびOS...
** 用例 [#y07b272e]
isql で例外の削除を行う例です。
DROP EXCEPTION UNKNOWN_EMP_ID;
** 参照 [#y755d715]
[[ALTER EXCEPTION>#alter_exception]], [[ALTER PROCEDURE...
&aname(event_init);
* EVENT INIT [#ke00d710]
データベースエンジンのイベントマネージャにいくつかのイ...
この文書は、公開されているIB6のSQLリファレンスを基とし...
またSQLリファレンスの情報が少ないため、IB6 の Embedded ...
** 構文 [#ra609f92]
EVENT INIT request_name [dbhandle]
[('string' | :variable [, 'string' | :variable …])];
|~引数|~説明|
|request_name|アプリケーションイベントハンドルです。|
|dbhandle|イベント発生を監視するデータベースを指定します...
|'string'|イベントに関連付けられたイベント名です。一意に...
|:variable|文字配列のホスト言語変数でイベント名のリストを...
** 詳細の説明 [#rb837fe4]
EVENT INIT により、データベースエンジンの同期イベントメ...
+ アプリケーションが EVENT INIT により、イベントを登録し...
+ EVENT WAITにより、イベント発生が報告されるまでアプリケ...
アプリケーションは、監視を行いたいイベントのリストを括...
ストアドプロシージャまたはトリガでの POST_EVENT により...
イベントマネージャは、依頼を受けたイベントの追跡を行い...
※訳注 イベント処理のプログラムは、Firebird API を直接叩く...
** 用例 [#md1dbf97]
埋め込みSQLにより、監視するイベントを登録します。
EXEC SQL
EVENT INIT ORDER_WAIT EMPDB ('new_order');
参照
[[CREATE PROCEDURE]] , [[CREATE TRIGGER]] , [[EVENT WAI...
これ以上の情報が欲しい場合、Embedded SQL Guide の event...
&aname(event_wait);
* EVENT WAIT [#z5f16319]
イベント発生が報告されるまでアプリケーションは処理を待...
この文書は、公開されているIB6のSQLリファレンスを基とし...
またSQLリファレンスの情報が少ないため、IB6 の Embedded ...
** 構文 [#f523b048]
EVENT WAIT request_name;
|~引数|~説明|
|request_name|事前に EVENT INIT により宣言された、アプリ...
** 詳細の説明 [#da1d3d2f]
EVENT WAIT により、データベースエンジンの同期イベントメ...
(訳注:1度に監視できるのは、1セットのイベントのみという...
通常の1つのイベントを監視するアプリケーションの場合、...
しかし、複数のイベントを指定して1つの EVENT INIT を実...
以下は、3つのイベント監視を登録後にそのままサスペンド...
EXEC SQL
EVENT INIT RESPOND_MANY ('new_order', 'change_order', '...
EXEC SQL
EVENT WAIT RESPOND_MANY;
/* もし、"new_order","change_order","cancel_order"のイベ...
ポストされて、かつそのトランザクションがコミットされた...
イベントマネージャーはそれをアプリケーションに報告し、...
の処理を再開させます。
続いて、アプリケーションはどのイベント報告を受けたかを...
for (i = 0; i < 3; i++)
{
if (isc_$event[i] > 0)
{
/* this event occurred, so process it */
. . .
}
}
** 用例 [#sc1c776d]
埋め込み SQL で、イベント名を指定して監視イベントの登録...
EXEC SQL
EVENT INIT ORDER_WAIT EMPDB ('new_order');
EXEC SQL
EVENT WAIT ORDER_WAIT;
** 参照 [#e465d34a]
[[EVENT INIT>#event_init]]
これ以上の情報が欲しい場合、Embedded SQL Guide の event...
ページ名:
新規
名前変更
ホーム
一覧
検索
最終更新
バックアップ
ヘルプ
最終更新のRSS