TimesTenのみのSQLおよび組込みプロシージャ

Oracle DatabaseではサポートされていないTimesTenのSQL文、SQL関数および組込みプロシージャがあります。

PassThrough= 3を設定すると、次の文はOracle Databaseに渡されて処理され、エラーが発生します。

  • すべてのTimesTenキャッシュ・グループのDDLおよびDML文(CREATE CACHE GROUPDROP CACHE GROUPALTER CACHE GROUPLOAD CACHE GROUPUNLOAD CACHE GROUPREFRESH CACHE GROUPおよびFLUSH CACHE GROUPを含む)。

  • すべてのTimesTenレプリケーション管理DDL文(CREATE REPLICATIONDROP REPLICATIONALTER REPLICATIONCREATE ACTIVE STANDBY PAIRALTER ACTIVE STANDBY PAIRおよびDROP ACTIVE STANDBY PAIRを含む)。

  • FIRST n句。

  • ROWS m TO n句。

  • すべてのTimesTen組込みプロシージャ。『Oracle TimesTen In-Memory Databaseリファレンス』「組込みプロシージャ」を参照してください。

  • 文字およびUnicode文字列に関するTimesTen固有の構文は、PassThrough=3を使用している場合、常にOracle Database構文に変換されるわけではありません。

    ノート:

    TimesTenでのUnicode文字列のサポートの詳細は、『Oracle TimesTen In-Memory Databaseリファレンス』「文字とUnicode文字列」を参照してください。

    • \046を指定すると、TimesTenでは&記号に変換されますが、Oracle Databaseにパススルーされる際にはこの記号に変換されません。\xyz表記法は、Oracle Databaseでサポートされていません。Oracle Databaseに文字を送信するには、その文字の10進値を使用してCHR()関数内で引数として渡します。

    • TimesTenでは、\uxyzw構文(\ufe4aのように、xyzwにUnicode値を代入)を使用して、文字列内でUnicode値(4桁の16進数)を表すことができます(NCHARおよびNVARCHAR2の場合のみ)。

      \uxyzw表記法は、Oracle Databaseでサポートされていません。したがって、Oracle DatabaseにパススルーされるNCHAR列またはNVARCHAR2のUnicode文字列は、u文字を使用せずに、UNISTR()関数内の引数として渡す必要があります。

      次の例では、Unicode値'0063'および'0064' (それぞれ文字aおよびb)が挿入されます。PassThrough=3を使用しているため、この文はOracle Databaseで実行されます。したがって、TimesTenで実行された場合と同じように、u文字を指定しません。

      Command> INSERT INTO my_tab VALUES (UNISTR(n'\0063\0064'));
      1 row inserted.