プロシージャーとトリガーは、すべてのアプリケーションで使えるように SQL 文をデータベースに格納します。プロシージャーとトリガーは、SQL 文の繰り返し (LOOP 文) と条件付き実行 (IF 文と CASE 文) を含むことができます。バッチは、データベースサーバーにグループとして送られる SQL コマンドのセットです。制御文など、プロシージャーとトリガーで使用できる機能の多くは、バッチでも使用できます。
プロシージャーは CALL 文で呼び出され、パラメーターを使って値を受け取り、呼び出しを行った環境に結果の値を返します。SELECT 文の FROM 句にプロシージャー名を含めると、プロシージャーの結果セットを操作できます。
プロシージャーは、呼び出し元に結果セットを返し、他のプロシージャーを呼び出すか、またはトリガーを起動できます。たとえば、ユーザー定義関数はストアドプロシージャーの一種であり、呼び出しを行った環境に 1 つの値を返します。ユーザー定義関数は、渡されたパラメーターを変更しないで、クエリや他の SQL 文に使用可能な関数のスコープを拡張します。
トリガーは特定のデータベーステーブルに関連付けられます。トリガーは、関連するテーブルのローが挿入、更新、削除されるたびに自動的に起動します。トリガーでプロシージャーを呼び出したり、他のトリガーを起動したりはできますが、トリガーにパラメーターを指定したり、CALL 文で呼び出したりはできません。
プロシージャー、トリガー、ユーザー定義関数の利点
プロシージャー
ユーザー定義関数
トリガー
バッチ
プロシージャー、トリガー、ユーザー定義関数の構造
制御文
結果セット
プロシージャー、トリガー、ユーザー定義関数、バッチのカーソル
エラーと警告の処理
プロシージャー、トリガー、ユーザー定義関数、バッチで使用される EXECUTE IMMEDIATE
プロシージャー、トリガー、ユーザー定義関数でのトランザクションとセーブポイント
プロシージャー、トリガー、ユーザー定義関数、バッチを作成するときのヒント
プロシージャー、トリガー、イベント、バッチで使用できる文
プロシージャー、ファンクション、トリガー、イベント、ビューの内容を隠す
![]() |
DocCommentXchange で意見交換できます
|
Copyright © 2012, iAnywhere Solutions, Inc. - SQL Anywhere 12.0.1 |