MariaDBでは、UPDATEXML()
は、XMLマークアップの特定のフラグメントの一部を新しいXMLフラグメントに置き換えてから、更新されたXMLを返す組み込み関数です。
構文
構文は次のようになります:
UPDATEXML(xml_target, xpath_expr, new_xml)
場所:
-
xml_target
更新するXMLフラグメントを含むXMLマークアップです -
xpath_expr
更新する特定のXMLフラグメントです -
new_xml
xpath-expr
を置き換えるXMLフラグメントです と
例
基本的な例は次のとおりです。
SELECT
UPDATEXML(
'<pet><name>Wag</name><type></type></pet>',
'/pet/type',
'<type>Dog</type>'
) AS Result;
結果:
+---------------------------------------------+ | Result | +---------------------------------------------+ | <pet><name>Wag</name><type>Dog</type></pet> | +---------------------------------------------+
この例では、元のXMLマークアップに空の<type>
があります エレメント。 UPDATEXML()
を使用しました その要素を更新して、コンテンツが含まれるようにします(Dog
。
ヌル引数
null
を渡す 引数はnull
を返します :
SELECT
UPDATEXML('<pet></pet>', '/pet', null) AS a,
UPDATEXML(null, '/pet', '<friend></friend>') AS b,
UPDATEXML('<pet></pet>', null, '<friend></friend>') AS c,
UPDATEXML(null, null, null) AS d;
結果:
+------+------+------+------+ | a | b | c | d | +------+------+------+------+ | NULL | NULL | NULL | NULL | +------+------+------+------+
引数がありません
UPDATEXML()
の呼び出し 引数の数が間違っているか、引数を渡さないと、エラーが発生します:
SELECT UPDATEXML();
結果:
ERROR 1582 (42000): Incorrect parameter count in the call to native function 'UPDATEXML'