アプリケーション開発の手引き


FORTRAN でサポートされている SQL データ・タイプ

特定の定義済み FORTRAN のデータ・タイプは、データベース・マネージャーの列のタイプに対応しています。ホスト変数として宣言できるのは、これらの FORTRAN データ・タイプのみです。

表 34 は、それぞれの列タイプに対応する FORTRAN データ・タイプを示します。プリコンパイラーはホスト変数宣言を検出すると、該当する SQL データ・タイプの値を判別します。データベース・マネージャーはこの値を使用して、アプリケーションとの間でやりとりするデータを変換します。
注:DB2 ホスト言語で、DATALINK データ・タイプをサポートするホスト変数はありません。

表 34. FORTRAN 宣言にマップされる SQL データ・タイプ
SQL 列タイプ1 FORTRAN データ・タイプ SQL 列タイプ記述

SMALLINT
(500 または 501)

INTEGER*2 16 ビットの符号付き整数

INTEGER
(496 または 497)

INTEGER*4 32 ビットの符号付き整数

REAL2
(480 または 481)

REAL*4 単精度浮動小数点

DOUBLE3
(480 または 481)

REAL*8 倍精度浮動小数点

DECIMAL(p,s)
(484 または 485)

厳密に対応するものがない ; REAL*8 を使用 パック 10 進数

CHAR(n)
(452 または 453)

CHARACTER*n 長さが n の固定長文字ストリング。 n の範囲は 1 〜 254

VARCHAR(n)
(448 または 449)

SQL TYPE IS VARCHAR(n) n の範囲は 1 〜 32 672 可変長文字ストリング

LONG VARCHAR
(456 または 457)

SQL TYPE IS VARCHAR(n) n の範囲は 32 673 〜 32 700 long 可変長文字ストリング

CLOB(n)
(408 または 409)

SQL TYPE IS CLOB (n) n の範囲は 1 〜 2 147 483 647 ラージ・オブジェクト可変長文字ストリング

CLOB ロケーター変数4
(964 または 965)

SQL TYPE IS CLOB_LOCATOR サーバー上の CLOB 実体を識別する

CLOB ファイル参照変数4
(920 または 921)

SQL TYPE IS CLOB_FILE CLOB データを含むファイルの記述子

BLOB(n)
(404 または 405)

SQL TYPE IS BLOB(n) n の範囲は 1 〜 2 147 483 647 ラージ・オブジェクト可変長 2 進ストリング

BLOB ロケーター変数4
(960 または 961)

SQL TYPE IS BLOB_LOCATOR サーバー上の BLOB 実体を識別する

BLOB ファイル参照変数4
(916 または 917)

SQL TYPE IS BLOB_FILE BLOB データを含むファイルの記述子

DATE
(384 または 385)

CHARACTER*10 10 バイトの文字ストリング

TIME
(388 または 389)

CHARACTER*8 8 バイトの文字ストリング

TIMESTAMP
(392 または 393)

CHARACTER*26 26 バイトの文字ストリング
注:
  1. SQL 列タイプの下の最初の数字は標識変数が提供されないことを示し、 2 番目の数字は標識変数が提供されることを示します。標識変数は、ヌル値を示したり、切り捨てられたストリングの長さを保留するのに必要です。これらは、これらのデータ・タイプの SQLDA の SQLTYPE フィールドに示される値です。
  2. FLOAT(n) ここで 0 < n < 25 の場合、REAL と同義。 SQLDA での REAL と DOUBLE の違いは長さの値です (4 または 8)。
  3. 次の SQL タイプは、DOUBLE と同義語。
    • FLOAT
    • FLOAT(n)。ここで、n の取る範囲は 24 < n < 54。
    • DOUBLE PRECISION
  4. これは列タイプではなく、ホスト変数タイプである。

サポートされているデータ・タイプそれぞれについて宣言されたホスト変数を含む、 SQL 宣言のサンプルを以下に示します。

      EXEC SQL BEGIN DECLARE SECTION 
        INTEGER*2     AGE  /26/ 
        INTEGER*4     DEPT 
        REAL*4        BONUS
        REAL*8        SALARY 
        CHARACTER     MI 
        CHARACTER*112 ADDRESS 
        SQL TYPE IS VARCHAR (512) DESCRIPTION 
        SQL TYPE IS VARCHAR (32000) COMMENTS
        SQL TYPE IS CLOB (1M) CHAPTER
        SQL TYPE IS CLOB_LOCATOR CHAPLOC 
        SQL TYPE IS CLOB_FILE  CHAPFL 
        SQL TYPE IS BLOB (1M) VIDEO 
        SQL TYPE IS BLOB_LOCATOR VIDLOC 
        SQL TYPE IS BLOB_FILE VIDFL 
        CHARACTER*10  DATE 
        CHARACTER*8   TIME 
        CHARACTER*26  TIMESTAMP 
        INTEGER*2     WAGE_IND 
      EXEC SQL END DECLARE SECTION

以下に、サポートされる FORTRAN データ・タイプのその他の規則を示します。


[ ページのトップ | 前ページ | 次ページ | 目次 | 索引 ]