1
xmltype이있는 테이블이 있습니다. XPath를 사용하여 쿼리 할 수 있어야합니다. Xpath와 관련된 where 절 조건을 포함하면 Rails는 어떤 행도 반환하지 않습니다. Rails에서 생성 된 쿼리를 로그에 복사 한 후 독립 실행 형으로 실행하면 예상되는 행이 반환됩니다.xpath가 포함 된 쿼리는 아무런 결과도 반환하지 않습니다.
SELECT * FROM my_table tab WHERE (tab.myxml.existsnode('//MyNode') = 1
코드 :
select("tab.myxml.getclobval() myxml").
from("my_table tab").
where("tab.myxml.existsnode(:xp) = 1", :xp=>"//MyNode")
을. 어쩌면 V $ SQL을 질의하여 정확히 어떤 문장이 데이터베이스에 제출되는지 확인해야합니다. 또한 EXISTSNODE 대신 XMLEXISTS를 사용할 수도 있습니다. [[사용되지 않는 기능] (http://docs.oracle.com/cd/E11882_01/server.112/e26088/functions057.htm#i1006711)). –
고마워요, xmlexists 잘 작동합니다. existnodewas는 더 이상 사용되지 않습니다. –