0

DB Oracle12g から XML を選択しようとしています。XML はテーブル (バイナリ XML としての XMLType ストア) に格納されており、WHERE 条件を使用して Select クエリを作成できません。私の問題は、クエリがレコードを返さないことです。Oracle SQL Developer 4.1.0.19 を使用しています。

私のクエリの例

SELECT OBJECT_VALUE
  FROM A_STUDENT_BIN
 WHERE existsNode(object_value,'//Student[@RodneCislo="123"]') = 1;

SELECT OBJECT_VALUE
  FROM A_STUDENT_BIN
 WHERE extract(OBJECT_VALUE, '//Student[@RodneCislo="123"]') IS NOT NULL;

テーブル構造:

CREATE TABLE a_student_bin OF XMLTYPE XMLTYPE STORE AS BINARY XML;

挿入された XML

<?xml version="1.0" encoding="windows-1250" ?>
<Vystup>
  <Student RodneCislo="123">
    <Jmeno>Pepa</Jmeno>
    <Prijmeni>Omacka</Prijmeni>
    <TitulPred>Ing.</TitulPred>
    <TitulZa></TitulZa>
  </Student>
</Vystup>

XML はクエリによって db に挿入されました:

insert into A_STUDENT_BIN
values (XmlType( bfilename('MYDIR','student.xml'),
                 nls_charset_id('EE8MSWIN1250')   );
4

0 に答える 0