17.05 - CREATE TABLE AS...WITH DATAを使用したデータベースへの外部データのロード - Advanced SQL Engine - Teradata Database

Teradata Vantage™ - Native Object Store 入門ガイド

Product
Advanced SQL Engine
Teradata Database
Release Number
17.05
Release Date
2021年1月
Content Type
プログラミング リファレンス
Publication ID
B035-1214-175K-JPN
Language
日本語 (日本)

同じ外部データに頻繁にアクセスする場合は、データベース内のデータをコピーします。これを行なうには、CREATE TABLE AS ...WITH DATAコマンドを使用して、既存の外部テーブルからデータベース内の新しいターゲット テーブルにテーブル定義とデータをコピーします。CREATE TABLE AS ...WITH DATAによって、LocationとPayloadの2つの列を持つテーブルが作成されます。

Teradataでは、ペイロード属性を個別の列として分割することをお勧めします。これにより、DOT表記を使用せずに列を参照でき、フィールドを適切なデータ型にキャストできます。

例では、サンプルの河川流量データ セットを使用します。独自のデータを使用するには、テーブル名、列名、および許可オブジェクトを置き換えます。サンプル データ セットの信頼証明および格納場所の値については、例の変数置換を参照してください。

  1. NOS関連コマンドを実行するには、必要な権限を持つユーザーとしてデータベースにログオンします。
  2. 存在しない場合は、riverflow_csvという名前の外部テーブルを作成するか、データベース管理者に作成を依頼します。CSVの例を実行するための設定を参照してください。
  3. データベースにテーブルを作成して、分析する外部データの部分集合をロードします。
    CREATE MULTISET TABLE riverflowprecip_csv AS (
    SELECT CAST(payload..site_no AS CHAR(8)) SiteNo,
    CAST(payload..Flow AS FLOAT) Flow,
    CAST(payload..GageHeight AS FLOAT) GageHeight
    FROM riverflow_csv
    WHERE payload..Precipitation > 0 )
    WITH DATA
    NO PRIMARY INDEX;
  4. テーブル内の行数を表示します。
    SELECT COUNT(*) FROM riverflowprecip_csv;

    結果は次のようになります。

    Count(*)
    -----------
            396