Oracle君ちのXMLDBでのSQLでうぉっと…
はい、同僚が悩んでいて私もちょっと悩んだSelect文。
まぁタグとか省略するんであれですが、例えば…XMLにて
</menber>
<person name="tyataro" from="大阪" >奇妙な人物</person>
</menber>
というXMLデータがあったときに、person要素の値「奇妙な人」が
取得したい時に、
select extractvalue(object_value, '/menber/person') from menber_tbl
で取得できるだろうとSQLを発行したならば、取得できるだろうと考えたのですが、
Oracle君に、「extractvalueはリーフノードでないとダメよ!!」といわれてしまいます。
…いや、確実にperson要素のテキストには「奇妙な人」しかないのです。
ハッ(ーー;)
person要素の下…そうXpathの階層的に考えれば、
name属性、from属性もperson要素の子というか下にくるもの…
だから「name属性、from属性、テキスト値」の3つがあり、リーフノードではない。と
言われちゃったのですね…。
ちゃんとそういったとこお勉強しないと、こんな単純なとこでひっかかってしまいますね…。
なんかXMLDBが来るぞ〜とか記述してるようなとこがあることですし、
初級者も増えるでしょうからどうぞ私の後をたどらないようお気をつけください(V)o¥o(V)