機械翻訳について

B サポートされているSQL構文および関数

次のトピックでは、サポートされているSQL構文および関数について説明します:

B.1 サポート対象のSQL文

いくつかの例外はあるものの、ゲートウェイではOracleのDELETE文、INSERT文、SELECT文およびUPDATE文が完全サポートされています。

ゲートウェイでは、Oracleデータ定義言語(DDL)文はサポートされていません。 OracleのALTER文、CREATE文、DROP文、GRANT文またはTRUNCATE文の形式は一切使用できません。 かわりに、Informixデータベースに対してDDL文を使用する場合は、ゲートウェイのパススルー機能を使用します。

関連項目:

キーワード、パラメータおよびオプションの詳細な説明は、『Oracle Database SQL言語リファレンス』を参照してください。

B.1.1 DELETE

DELETE文は完全サポートされています ただし、InformixでサポートされているOracle関数のみを使用できます。 また、外側の問合せで同じ表名を参照するSQL文をサブ問合せで使用することはできません。

関連項目:

サポートされている関数のリストは、Informixでサポートされる関数を参照してください。

B.1.2 INSERT

INSERT文は完全サポートされています。 ただし、InformixでサポートされているOracle関数のみを使用できます。 また、外側の問合せで同じ表名を参照するSQL文をサブ問合せで使用することはできません。

関連項目:

サポートされている関数のリストは、Informixでサポートされる関数を参照してください。

B.1.3 SELECT

SELECT文は完全サポートされています。ただし、次の例外があります。

  • CONNECT BY条件

  • NOWAIT

  • START WITH condition

  • HAVING句の副問合せ

B.1.4 UPDATE

UPDATE文は完全サポートされています。 ただし、InformixでサポートされているOracle関数のみを使用できます。 また、外側の問合せで同じ表名を参照するSQL文をサブ問合せで使用することはできません。 副問合せは、SET句ではサポートされていません。 Informixは、UPDATEの表別名をサポートしていません。

関連項目:

サポートされている関数のリストは、Informixでサポートされる関数を参照してください。

B.2 Oracle関数

すべての関数は、ゲートウェイがInformix SQLに変換した後、Informixデータベースによって評価されます。

B.2.1 Informixでサポートされていない関数

Informixに同等の機能を持たないOracle SQL関数は、 DELETE INSERTまたは UPDATE文ではサポートされませんが、文がSELECT文の場合、Oracleデータベースによって評価されます。 つまり、Oracleデータベースは、ゲートウェイに送信されたSELECT文の後処理を実行します。

サポートされていない関数をDELETEINSERTまたはUPDATE文で使用すると、次のOracleエラーが発生します:

ORA-02070: database db_link_name does not support function in this context

B.2.2 Informixでサポートされる関数

ゲートウェイは、SQL文の次のOracleデータベース関数を、対応するInformix関数に変換します:

B.2.2.1 算術演算子
Oracle Informix

+

+

-

-

*

*

/

/

B.2.2.2 比較演算子
Oracle Informix

=

=

>

>

<

<

>=

>=

<=

<=

<>, !=, ^=

<>

IS NOT NULL

IS NOT NULL

IS NULL

IS NULL

B.2.2.3 グループ関数
Oracle Informix

AVG

AVG

COUNT

COUNT

MAX

MAX

MIN

MIN

SUM

SUM

B.2.2.4 文字列関数
Oracle Informix

||CONCAT

||

ASCII

ASCII

CHR

CHR

LENGTH

LENGTH

B.2.2.5 パターン一致
Oracle Informix

LIKE 'a%'

LIKE "a%"

LIKE 'a_'

LIKE "a_"

LIKE 'a\%' ESCAPE '\'

LIKE "a\%" ESCAPE ""

NOT LIKE

NOT LIKE

B.2.2.6 日付関数
Oracle Informix

date + number

date + number

date - number

date - number

date + date

date + date

date - date

date - date

B.2.2.7 その他の関数
Oracle Informix

ABS

ABS

COS

COS

EXP

EXP

LOG10

LOG10

LN

LOGN

LTRIM(char)

TRIM(LEADING FROM char)

MOD

MOD

POWER (m,n)

POW(m,n)

RTRIM(char)

TRIM(TRAILING FROM char)

ROUND (引数が1つあり)

ROUND

SIN

SIN

SQRT

SQRT

TAN

TAN

TRUNC (引数が1つあり)

TRUNC

B.2.3 ゲートウェイでサポートされる関数

Oracle関数がInformixに同等の関数を持たない場合、Oracle関数はSQL文に変換されず、SQL文がSELECTの場合は後処理する必要があります。

ただし、ゲートウェイは、Informixに同等の機能がない場合でも、1つの機能をサポートしています。 この関数は、TO_DATE関数です:

TO_DATE(date_string | date_column)

説明:

date_stringは、次の形式の文字列に変換されます:

yyyy-mm-dd hh:mi:ss.fff

ノート:

結果と同じ書式(つまり、yyyy-mm-dd hh:mi:ss.fff)で日付文字列を指定します。

date_columnは、日付データ型を持つ列です。 これは、timestampデータ型のパラメータに変換されます。