外部Javaプロシージャを作成または置き換える場合、システムはパラメータ マッピングの種類に基づいて、すべてのSQLデータ型を対応するJavaデータ型に変換したり、その逆の変換を行なったりします。
外部プロシージャは単純マッピングにデフォルト設定されていて、SQLデータ型は、Javaプリミティブ型または、適切なプリミティブ型が存在しないときはJavaクラスにマップされます。言い換えれば、単純マッピング列にJavaの型がある場合、デフォルトのマッピングはその型にマップされます。単純マッピング列に、SQLデータ型に適用なしエントリがある場合、デフォルト マッピングは、オブジェクト マッピング列のJavaクラスにマップされます。
nullの受渡しを許可するJava外部プロシージャを作成または置き換える場合、単純マッピングを使用することはできません。デフォルト マッピングをオーバーライドするには、EXTERNAL NAME句のパラメータ リストにあるオブジェクト マッピング列から適切なJavaクラスを指定する必要があります。
次のテーブルでは、SQLとJavaとの間のデータ型マッピングを定義します。
SQLデータ型 | Javaデータ型 | ||
---|---|---|---|
単純マッピング | 単純マッピングJavaプリミティブ記号 | オブジェクト マッピング | |
BYTEINT | バイト | B | java.lang.Byte |
SMALLINT | short | S | java.lang.Short |
INTEGER | int | I | java.lang.Integer |
BIGINT | long | J | java.lang.Long |
NUMERIC | 使用不可 | 使用不可 | java.math.BigDecimal |
DECIMAL | 使用不可 | 使用不可 | java.math.BigDecimal |
FLOAT | double | D | java.lang.Double |
REAL | double | D | java.lang.Double |
DOUBLE PRECISION | double | D | java.lang.Double |
BYTE | 使用不可 | B | byte[] |
VARBYTE | 使用不可 | B | byte[] |
BLOB | 使用不可 | 使用不可 | java.sql.Blob |
DATE | 使用不可 | 使用不可 | java.sql.Date |
TIME TIMEは、Teradata Databaseが提供する完全ナノ秒粒度はサポートしません。 |
使用不可 | 使用不可 | java.sql.Time |
TIMESTAMP | 使用不可 | 使用不可 | java.sql.Timestamp |
INTERVAL | 使用不可 | 使用不可 | java.lang.String |
CHARACTER | 使用不可 | 使用不可 | java.lang.String |
VARCHAR | 使用不可 | 使用不可 | java.lang.String |
CLOB | 使用不可 | 使用不可 | java.sql.Clob |
GRAPHIC | 使用不可 | 使用不可 | 使用不可 |
VARGRAPHIC | 使用不可 | 使用不可 | 使用不可 |
UDT | 未サポート | 使用不可 | 未サポート |