入れ子の複合文の中の条件ハンドラーのルール - Teradata Database - Teradata Vantage NewSQL Engine

Teradata Vantage™ SQL ストアド プロシージャおよび埋め込みSQL

Product
Teradata Database
Teradata Vantage NewSQL Engine
Release Number
16.20
Published
2019年3月
Language
日本語
Last Update
2019-10-29
dita:mapPath
ja-JP/rop1530578142648.ditamap
dita:ditavalPath
ja-JP/rop1530578142648.ditaval
dita:id
B035-1148
Product Category
Software
Teradata Vantage
  • ハンドラー アクション文以外のいずれかの文で発生した、複合文中の例外条件、完了条件、およびユーザー定義条件は、適切なハンドラーが存在すればその複合文の中で処理されます。

    入れ子の複合文では、内側の複合文の中に適切なハンドラーのない条件は、ハンドラーの検索のために外側の文に伝搬されます。

    次の表では、内側の複合文内に特定の条件の処理に使用できるハンドラーが無い場合に発生し得る種々のシナリオについて説明しています。

    条件が発生した場所 適切なハンドラー 結果
    入れ子ではない複合文 その文の中にある 条件が処理され、ハンドラーのタイプに応じて、ストアド プロシージャの実行が続行するか終了するかします。
    存在しないで、次に示す条件の場合
    • 例外条件または処理されないユーザー定義条件
    • 完了条件
    • ストアド プロシージャは終了します。
    • ストアド プロシージャの実行は続行します。
    • 入れ子の複合文
    • ハンドラー アクション文以外の文
    その文の中にある 条件が処理されます。
    その文の中になく、すぐ外の文で適当なハンドラーの検索が行なわれる。
    • その文の中にハンドラーがあれば、条件は処理されます。
    • ハンドラーがない場合は、次の外側の複合文で適当なハンドラーの検索が行なわれます。

    最も外側の複合文にも適当なハンドラーが存在しないで、次に示す条件の場合:

    • 例外条件または処理されないユーザー定義条件の場合、ストアド プロシージャが終了します。
    • 完了条件の場合、ストアド プロシージャの実行は、条件が発生した文の次の文から続けられます。
  • ハンドラー アクション文で発生した例外条件、完了条件、およびユーザー定義条件の伝搬と処理のルールは、上記とは異なります。

関連トピック

以下に関する詳細な情報
  • ストアド プロシージャ内の他の入れ子の、または入れ子ではない複合文の中の条件ハンドラーに対する、SQLSTATEコードの再利用については、例: SQLSTATEコードの再利用を参照してください。
  • ハンドラー アクション文で発生した例外条件、完了条件、およびユーザー定義条件の伝搬と処理のルールは、ハンドラー アクションで発生する条件を参照してください。