Bサポート対象のSQL構文および関数
トピック:
- サポート対象のSQL文
 Oracle Database Gateway for ODBCでは、DELETE、INSERT、SELECTおよびUPDATE文がサポートされるのは、ODBCドライバとOracle以外のシステムがそれらを実行でき、かつサポート対象のOracle SQL関数が文に含まれている場合のみです。
- Oracle関数
 すべての関数は、ゲートウェイによりネイティブSQLに変換された後、Oracle以外のシステムにより評価されます。Oracle以外のシステムでは、関数の限定セットのみがサポートされると想定されます。ほとんどのOracle関数には、この限定セットと同等の関数はありません。したがって、Oracleデータベースによって後処理が実行されても、Oracle Database Gateway for ODBCは多くの関数をサポートせず、パフォーマンスに影響することがあります。
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