有効および無効なINSERT操作 - Advanced SQL Engine - Teradata Database

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

Product
Advanced SQL Engine
Teradata Database
Release Number
17.10
Published
2021年7月
Language
日本語
Last Update
2021-09-23
dita:mapPath
ja-JP/vjt1596846980081.ditamap
dita:ditavalPath
ja-JP/wrg1590696035526.ditaval
dita:id
B035-1146
Product Category
Software
Teradata Vantage

有効なINSERT操作

次のいずれかが発生した場合、INSERT操作はエラー メッセージを返しません。
  • Teradataセッション モードで、列の宣言よりも長い、または短い文字列を挿入する操作。列は自動的に調整され、挿入されます。この結果、Kannji1の文字データ型では、誤った文字列になることがあります。
  • 問合わせを使用する操作が行を返さない場合。

無効なINSERT操作

次のいずれかがtrueである場合には、INSERT操作では、エラーや失敗のメッセージが返されます。
  • 固有インデックスの指定に反する操作。
  • デフォルト値がなく、NOT NULLと定義されている列に、値が指定されていない行を挿入する操作。
  • 列に指定されたCHECK制約に違反する非NULLの値を指定する操作。
  • 列に指定された数値型とは異なる型を指定する操作。 その値は正しく変換されません。
  • 宛先文字のデータ型のレパートリーに存在しない文字の値を指定する操作。
  • 文字列の末尾の埋め込み文字をVARCHARフィールドに挿入しようとし、その操作でその行が他の行と(末尾の埋め込み文字の数以外は)同じになる操作。
  • ANSIセッション モードでは、文字データを挿入する場合には、宛先列の最大長に合わせるために、ブランク以外の文字がソース データから切り捨てられます。
KANJI1のサポートは廃止されました。 KANJI1をデフォルトの文字セットとして使用することはできません。 システムはデフォルトのKANJI1文字セットをUNICODE文字セットに変更します。 KANJI1の新規オブジェクトの作成は、高度に制限されています。 KANJI1を使用する問合わせやアプリケーションの多くは、従来通り動作しますが、KANJI1を使用するサイトはできるだけ早く別の文字セットに変換する必要があります。

ラージ オブジェクトおよびINSERT

切り捨てられたLOBの挿入の動作は、ANSIセッション モードとTeradataセッション モードでは異なります。以下のテーブルは、切り捨て動作での相違点を説明しています。

セッション モード 挿入時に非埋め込みバイトが切り捨てられた場合の結果
ANSI 例外条件が発生します。

INSERTは失敗します。

Teradata 例外条件は発生しません。

INSERTは成功します。切り捨てられたLOBが格納されます。