Mac De PL/SQL RSS Reader #7 Tweet
さて、RSS ReaderをネタにDBMS_XMLDOMパッケージなどでも遊ぼうとしていたら、こんなの見つけた。
Oracle10g R1/R2の PL/SQL Package and Type ReferenceマニュアルによればDBMS_XMLDOM.HASATTRIBUTEファンクションの戻り値は、VARCHAR2となっている。(以下、マニュアルより抜粋)
HASATTRIBUTE Functions
DBMS_XMLDOM.HASATTRIBUTE(
elem IN DOMELEMENT,
name IN VARCHAR2)
RETURN VARCHAR2;
DBMS_XMLDOM.HASATTRIBUTE(
elem IN DOMELEMENT,
name IN VARCHAR2,
ns IN VARCHAR2)
RETURN VARCHAR2;
しかし、実際には、
SYS> spo xmldom_desc.log
SYS> desc dbms_xmldom
中略
SYS> spo off
SYS> !cat xmldom_desc.log | grep HASATTRIBUTE
FUNCTION HASATTRIBUTE RETURNS BOOLEAN
FUNCTION HASATTRIBUTE RETURNS BOOLEAN
FUNCTION HASATTRIBUTES RETURNS BOOLEAN
SYS>
ということで、DBMS_XMLDOM.HASATTRIBUTEファンクションの戻り値は、 BOOLEAN なので注意するべし。
さらに、DBMS_XMLDOM.HASATTRIBUTE()を使ってみると、Oracle10g 10.1.0.3.0, 10.2.0.2.0、それぞれで試してみたが、常に FALSE が返される。
ちなみに、DBMS_XMLDOM.GETATTRIBUTENODE()では、指定した属性ノードが正しく取り出せた。こちらが使えるので、とりあえず、なんとかなるか。。。
今後仕事で使う際には要注意なので、備忘録として記録しておく。(そのうちファンクションの問題共々、修正されるとは思うが。。。。)
聞いている曲:Japan - Gentoemen Take Polaroids - Taking Islands in Africa


| 固定リンク | 0
コメント