機械翻訳について

B サポートされているSQL構文と関数

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

サポート対象のSQL文

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

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

注意:

TRUNCATEはパススルー文では使用できません。

関連項目:

キーワード、パラメータ、およびオプションの詳細については、Oracle Databaseリファレンスを参照してください。

DELETE

DELETE文は完全サポートされています ただし、SQL ServerでサポートされているOracle機能のみを使用できます。

関連項目:

「"SQL Serverでサポートされる関数"」はサポートされている関数のリストです。

INSERT

INSERT文は完全サポートされています。 ただし、SQL ServerでサポートされているOracle機能のみを使用できます。

関連項目:

「"SQL Serverでサポートされる関数"」はサポートされている関数のリストです。

SELECT

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

  • CONNECT BY condition

  • NOWAIT

  • START WITH condition

  • WHERE CURRENT OF

UPDATE

UPDATE文は完全サポートされています。 ただし、SQL ServerでサポートされているOracle機能のみを使用できます。

関連項目:

「"SQL Serverでサポートされる関数"」はサポートされている関数のリストです。

Oracle関数

すべての機能は、ゲートウェイがSQL Server SQLに変換した後、SQL Serverデータベースによって評価されます。 例外はゲートウェイによって評価されるTO_DATE関数です。

SQL Serverでサポートされていない関数

SQL Serverで同等の機能を持たない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

SQL Serverでサポートされる関数

ゲートウェイは、SQL文の次のOracleデータベース関数を、同等のSQL Server関数に変換します:

算術演算子
Oracle SQL Server

+

+

-

-

*

*

/

/

比較演算子
Oracle SQL Server

=

=

>

>

<

<

>=

>=

<=

<=

<>, !=, ^=

<>

IS NOT NULL

IS NOT NULL

IS NULL

IS NULL

パターン一致
Oracle SQL Server

LIKE

LIKE

NOT LIKE

NOT LIKE

グループ関数
Oracle SQL Server

AVG

AVG

COUNT

COUNT

MAX

MAX

MIN

MIN

SUM

SUM

文字列関数
Oracle SQL Server

||、CONCAT

+ (expression1 + expression2)

ASCII

ASCII

CHR

CHAR

INSTR (2つの引数付き)

CHARINDEX

LENGTH ()

LEN ()

LENGTHB ()

DATALENGTH ()

LENGTHC ()

LEN ()

LOWER

LOWER

LTRIM

LTRIM

RTRIM

RTRIM

SUBSTR (2番目の引数は負の数にはできません)

SUBSTRING

UPPER

UPPER

その他の関数
Oracle SQL Server

ABS

ABS

CEIL

CEILING

COS

COS

EXP

EXP

FLOOR

FLOOR

LN

LOG

LOG

LOG10

MOD

%

NOT NVL

IS NOT NULL

NVL

IS NULL

POWER

POWER

ROUND

ROUND

SIN

SIN

SQRT

SQRT

TAN

TAN

ゲートウェイがサポートする機能

OracleファンクションにSQL Serverで同等の機能がない場合、OracleファンクションはSQL文に変換されず、SQL文がSELECTの場合は後処理する必要があります。

ただし、ゲートウェイは、次のように、SQL Serverで同等のTO_DATE関数をサポートしています:

TO_DATE(date_string | date_column)

説明:

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

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

    注意:

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

  • date_columnは日付データ型の列です。 タイムスタンプ・データ型のパラメータに変換されます。