SQL 解説書

SQL プロシージャー・ステートメント

SQL ストアード・プロシージャー定義内のプロシージャー本体には、 そのストアード・プロシージャーのソース・ステートメントが含まれます。

この章では、プロシージャー本体を構成するステートメントの構文図、 意味の説明、規則、および使用例を示しています。

SQL 制御ステートメントを SQL プロシージャー本体として指定すれば、 制御ステートメント内に複数のステートメントを指定することができます。 これらのステートメントは、SQL プロシージャー・ステートメントとして定義されます。

構文

>>-label:----+-| SQL-control-statement |-+---------------------><
             '-| SQL-statement |---------'
 
SQL-control-statement
 
|---+-ALLOCATE CURSOR statement----+----------------------------|
    +-assignment statement---------+
    +-ASSOCIATE LOCATORS statement-+
    +-CASE statement---------------+
    +-compound statement-----------+
    +-FOR statement----------------+
    +-GET DIAGNOSTICS statement----+
    +-GOTO statement---------------+
    +-IF statement-----------------+
    +-ITERATE statement------------+
    +-LEAVE statement--------------+
    +-LOOP statement---------------+
    +-REPEAT statement-------------+
    +-RESIGNAL statement-----------+
    +-RETURN statement-------------+
    +-SIGNAL statement-------------+
    '-WHILE statement--------------'
 

説明

label:
SQL プロシージャー・ステートメントのラベルを指定します。 このラベルは、 SQL プロシージャー・ステートメント (リスト内でネストされているあらゆる複合ステートメントも含まれる) のリスト内で固有でなければなりません。 ネストされていない複合ステートメントでは、同じラベルを使用できることに注意してください。 SQL プロシージャー・ステートメントのリストは、複数の SQL 制御ステートメントで使用できます。

SQL-statement
SQL プロシージャー本体には、 実行可能なすべての SQL ステートメントを含めることができます。 ただし、以下のものは含めることができません。

注:CALL ステートメントは SQL プロシージャー本体に含めることができますが、 それらの CALL ステートメントで呼び出せるのは、他の SQL プロシージャーだけです。 SQL プロシージャー内の CALL ステートメントでは、 他のタイプのストアード・プロシージャーを呼び出すことはできません。


[ ページのトップ | 前ページ | 次ページ | 目次 | 索引 ]