Bサポート対象のSQL構文および関数
B.1 サポート対象のSQL文
Oracle Database Gateway for ODBCでDELETE、INSERT、SELECT、UPDATEの各文がサポートされるのは、ODBCドライバとOracle以外のシステムがそれらを実行でき、かつサポート対象のOracle SQL関数が文に含まれている場合のみです。
いくつかの例外はあるものの、ゲートウェイではOracleのDELETE文、INSERT文、SELECT文およびUPDATE文が完全サポートされています。
ゲートウェイでは、Oracleデータ定義言語(DDL)文はサポートされていません。OracleのALTER文、CREATE文、DROP文、GRANT文またはTRUNCATE文の形式は一切使用できません。ALTER文、CREATE文、DROP文およびGRANT文で、Oracle以外のシステムのデータベースに対してDDL文を使用する必要がある場合は、かわりにゲートウェイのパススルー機能を使用します。
ノート:
TRUNCATEはパススルー文では使用できません。
関連項目:
キーワード、パラメータおよびオプションの詳細な説明は、『Oracle Database SQL言語リファレンス』を参照してください。
B.2 Oracle関数
すべての関数は、ゲートウェイによりネイティブSQLに変換された後、Oracle以外のシステムにより評価されます。Oracle以外のシステムでは、関数の限定セットのみがサポートされると想定されます。ほとんどのOracle関数には、この限定セットと同等の関数はありません。したがって、Oracleデータベースによって後処理が実行されても、Oracle Database Gateway for ODBCは多くの関数をサポートせず、パフォーマンスに影響することがあります。
Oracle SQL関数がOracle Database Gateway for ODBCでサポートされない場合、この関数はDELETE、INSERTまたはUPDATE文でサポートされません。SELECT文で、これらの関数はOracle以外のシステムから返された後にOracleデータベースによって評価され、処理されます。
サポート対象外の関数がDELETE文、INSERT文またはUPDATE文で使用されると、次のOracleエラーが生成されます。
ORA-02070: database db_link_name does not support function in this context
Oracle Database Gateway for ODBCでは、使用されるODBCドライバで次の最小セットのSQL関数がサポートされることが想定されます。
-
AVG(exp) -
LIKE(exp) -
COUNT(*) -
MAX(exp) -
MIN(exp) -
NOT