13.54 XQUERY
構文
XQUERY xquery_statement
SQL*PlusのXQUERYコマンドを使用すると、指定したデータベースでXQuery 1.0問合せを実行できます。XQUERYは、Oracle Database 10gリリース2以上のバージョンでサポートされています。それより前のOracle DatabaseでXQUERYを使用しようとすると、エラーが発生します。
SP2-614 Server version too low
項
xquery_statement
実行するXQUERY文を指定します。この文は、標準のXQuery構文で入力します。XQUERY文は、スラッシュ「/」で終了します。
使用方法
SQL*PlusコマンドXQUERYをXQuery文の接頭辞として設定し、スラッシュ「/」でXQUERYコマンドを終了します。XQUERYは、SQL*Plusキーワードです。XQueriesを他のツールで実行する場合は、キーワードが必要ない場合があります。
XQUERYコマンドのXML出力は、アクティブなSETコマンド・オプションに従ってネイティブXMLとして表示されます。通常、SET LONGを設定する必要があります。次の設定を行うと有効な場合があります。
-
デフォルトの80文字より長い行の行サイズ(SET LINESIZE)。
-
デフォルトの80文字より長い行のLOB、LONGおよびXMLTypeのサイズ(SET LONG)。
-
出力と一致する出力ページ・サイズ(SET PAGESIZE)。
-
「Result Sequence」列ヘッダーを抑制するヘッダーの表示(SET HEADING OFF)。
XQUERYコマンドには、アクティブなデータベース接続が必要です。このコマンドは、SQLPLUS /NOLOGでは動作しません。
XQUERYコマンドでは、バインド変数はサポートされていません。
XQUERYコマンドには固有の4つのSETコマンドがあります。SHOW XQUERYコマンドを実行すると、これらの設定の状態が表示されます。これらを次に示します。
例
次のスクリプトのXQuery文は、HRスキーマのEMP_DETAILS_VIEWビューを問い合せます。
set long 160 set linesize 160 xquery for $i in fn:collection("oradb:/SCOTT/EMP_DETAILS_VIEW") return $i /
Result Sequence
-------------------------------------------------------------------------------------------
<ROW><EMPNO>7369</EMPNO><ENAME>SMITH</ENAME><JOB>CLERK</JOB><MGR>7902</MGR><HIREDATE>17-
DEC-80</HIREDATE><SAL>800</SAL><DEPTNO>20</DEPTNO></ROW>
14 item(s) selected.