次のテーブル定義があるとします。
CREATE TABLE table_1 ( cunicode CHARACTER(10) CHARACTER SET UNICODE, clatin CHARACTER(10) CHARACTER SET LATIN, csjis CHARACTER(10) CHARACTER SET KANJISJIS, cgraphic CHARACTER(10) CHARACTER SET GRAPHIC, cgraphic2 CHARACTER(10) CHARACTER SET GRAPHIC);
セッション文字集合がKanjiShift-JISの場合に、次のリクエストを実行依頼したとします。
USING cunicode (CHARACTER(10)), clatin (CHARACTER(10)), csjis (CHARACTER(10)), cgraphic (GRAPHIC(10)), cgraphic2 (CHARACTER(10) CHARACTER SET GRAPHIC)) INSERT INTO table_1(:cunicode, :clatin, :csjis, :cgraphic, :cgraphic2);
USINGリクエスト修飾子は、データ パーセルに以下が含まれていることを示しています。
- Unicode列の10 KanjiShift-JISバイト
- Latin列に10バイト
- KanjiSJIS列に10バイト
- 1番目のGRAPHIC列に20バイト
- 2番目のGRAPHIC列に20バイト
データのパーセル内の個々のフィールドは、client form-of-useから、サーバーの使用形式に変換されます。変換後に、最初の3つのフィールドはユニコード リテラルとして扱われ、最後の2つのフィールドはGRAPHICリテラルとして扱われます(<Teradata Vantage™データ タイプおよびリテラル、B035-1143>を参照)。
次に、列データが<Teradata Vantage™データ タイプおよびリテラル、B035-1143>でリストされているルールに従って、暗黙の変換を使用するターゲット フィールドに変換されます。
変換の処理は、以下のテーブルで説明します。
ステップ | プロセス | |||
---|---|---|---|---|
サーバーの使用形式に変換されるバイト数 | 扱われるリテラル | 変換後の文字データ型 | 格納先の列 | |
1 | 最初の10 (1 - 10) | UNICODE | なし | cunicode |
2 | 次の10 (11 -20) | UNICODE | LATIN | clatin |
3 | 次の10 (21 -30) | UNICODE | KANJISJIS | csjis |
4 | 次の20 (31 -50) | GRAPHIC | GRAPHIC | cgraphic |
5 | 最後の20 (51 - 70) | GRAPHIC | GRAPHIC | cgraphic2 |
USING句の意味は、セッションの文字設定とは独立していることに注意してください。