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

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

Product
Advanced SQL Engine
Teradata Database
Release Number
17.10
Published
2021年7月
ft:locale
ja-JP
ft:lastEdition
2021-09-23
dita:mapPath
ja-JP/vqj1592443206677.ditamap
dita:ditavalPath
ja-JP/wrg1590696035526.ditaval
dita:id
B035-1148
Product Category
Software
Teradata Vantage
  • ハンドラー アクション文以外のいずれかの文で発生した、複合文中の例外条件、完了条件、およびユーザー定義条件は、適切なハンドラーが存在すればその複合文の中で処理されます。

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

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

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

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

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

関連情報

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