ヘッダーをスキップ
Oracle Transparent Gateway for Microsoft SQL Server管理者ガイド
10gリリース2(10.2)for Microsoft Windows(32-bit)
B25367-01
  目次
目次
索引
索引

戻る
戻る
次へ
次へ
 

Bサポート対象のSQL構文および関数

この付録の内容は次のとおりです。

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

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

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


注意:

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


関連資料:

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

B.1.1 DELETE

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


関連項目:

サポート対象の関数の一覧は、「Microsoft SQL Serverでサポートされる関数」を参照してください。

B.1.2 INSERT

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


関連項目:

サポート対象の関数の一覧は、「Microsoft SQL Serverでサポートされる関数」を参照してください。

B.1.3 SELECT

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

  • CONNECT BY condition

  • NOWAIT

  • START WITH condition

  • WHERE CURRENT OF

B.1.4 UPDATE

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


関連項目:

サポート対象の関数の一覧は、「Microsoft SQL Serverでサポートされる関数」を参照してください。

B.2 Oracle関数

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

B.2.1 Microsoft SQL Serverでサポートされない関数

対応するMicrosoft SQL Serverの関数がないOracle SQL関数は、DELETE文、INSERT文またはUPDATE文ではサポートされていません。ただし、SQL文がSELECT文の場合は、Oracleデータベース・サーバーにより評価されます。つまり、Oracleデータベース・サーバーがゲートウェイに送信されるSELECT文の後処理を実行します。

サポート対象外の関数がDELETE文、INSERT文またはUPDATE文で使用されると、次のOracleエラーが発生します。

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

B.2.2 Microsoft SQL Serverでサポートされる関数

ゲートウェイは、SQL文の次のOracleデータベース・サーバーの関数を対応するMicrosoft SQL Serverの関数に変換します。

B.2.2.1 算術演算子

Oracle Microsoft SQL Server
+
+
- -
*
*
/
/

B.2.2.2 比較演算子

Oracle Microsoft SQL Server
=
=
> >
<
<
>= >=
<=
<=
<>, !=, ^= <>
IS NOT NULL IS NOT NULL
IS NULL IS NULL

B.2.2.3 パターン・マッチング

Oracle Microsoft SQL Server
LIKE LIKE
NOT LIKE NOT LIKE

B.2.2.4 グループ関数

Oracle Microsoft SQL Server
AVG AVG
COUNT COUNT
MAX MAX
MIN MIN
SUM SUM

B.2.2.5 文字列関数

Oracle Microsoft SQL Server
||、CONCAT + (expression1 + expression2)
ASCII ASCII
CHR CHAR
INSTR (引数は2つあります) CHARINDEX
LENGTH DATALENGTH
LOWER LOWER
LTRIM LTRIM
RTRIM RTRIM
SUBSTR (2番目の引数に負の数は指定できません) SUBSTRING
UPPER UPPER

B.2.2.6 その他の関数

Oracle Microsoft 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

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

対応するMicrosoft SQL Serverの関数がない場合、Oracle関数はSQL文に変換されません。SQL文がSELECT文の場合は、Oracle関数に対して後処理を実行する必要があります。

ただし、ゲートウェイでは、次のようなTO_DATE関数に対応するMicrosoft SQL Serverの関数がサポートされています。

TO_DATE(date_string | date_column)

各要素の説明:

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

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


推奨事項:

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

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