17.10 - 行パーティション テーブルのパーティション列を更新するためのルール - Advanced SQL Engine - Teradata Database

Teradata Vantage™ - SQLデータ操作言語

Product
Advanced SQL Engine
Teradata Database
Release Number
17.10
Release Date
2021年7月
Content Type
プログラミング リファレンス
Publication ID
B035-1146-171K-JPN
Language
日本語 (日本)
行パーティション テーブルのパーティション列を更新する場合に、以下のルールが適用されます。
  • パーティション列を更新しようとするUPDATEリクエストの場合、パーティション式の結果は1とそのレベルに対して定義されたパーティション数の間の値になる必要があります。
  • 行を挿入しようとするUPDATEリクエストの場合、その行のパーティション式の結果は1とそのレベルに対して定義されたパーティション数の間の値になる必要があります。
  • システム派生列PARTITIONおよびPARTITION#L1~PARTITION#L62を更新できません。
  • パーティション式の評価中に、エラー(ゼロで割るなど)が発生することがあります。システムは、エラー発生時に実行されているセッション モードに応じてそのエラーに応答します。
    セッション モード 式評価エラーがロールバックする作業単位
    ANSI アボートされたリクエストを含んでいるリクエスト
    Teradata アボートされたリクエストを含むトランザクション。
式のエラーを防ぐために、パーティション式の設計時には注意が必要です。
  • 更新の成功のために、テーブルが作成された時点のセッション モードおよびセッション照合が、現在のセッション モードおよび照合と一致する必要はありません。更新される行を含めるパーティションは、テーブルのセッション モードと照合を使用してパーティション列値のパーティション式を評価することによって決まるからです。
  • 文字パーティションで定義されているテーブルで行を更新するとき、テーブルの照合がMULTINATIONALまたはCHARSET_COLLのいずれかで、テーブルが作成されてから照合の定義に変更があった場合、テーブル内の行の更新を試みるリクエストがアボートされ、要求元にエラーが返されます。
  • テーブル結合インデックスのパーティション式が、Unicode文字式またはリテラルを伴い、テーブルまたは結合インデックスが定義されたときに有効だったコード ポイントとは一致しないUnicodeコード ポイントを持つリリースにまでシステムが戻されると、データベースはテーブルへの行の更新の試みをアボートし、要求元にエラーを返します。