Di MariaDB, UPDATEXML()
adalah fungsi bawaan yang menggantikan satu bagian dari fragmen markup XML yang diberikan dengan fragmen XML baru, lalu mengembalikan XML yang diperbarui.
Sintaks
Sintaksnya seperti ini:
UPDATEXML(xml_target, xpath_expr, new_xml)
Dimana:
xml_target
adalah markup XML yang berisi fragmen XML yang ingin Anda perbaruixpath_expr
adalah fragmen XML spesifik yang ingin Anda perbaruinew_xml
adalah fragmen XML yang ingin Anda gantixpath-expr
dengan
Contoh
Berikut ini contoh dasarnya:
SELECT
UPDATEXML(
'<pet><name>Wag</name><type></type></pet>',
'/pet/type',
'<type>Dog</type>'
) AS Result;
Hasil:
+---------------------------------------------+ | Result | +---------------------------------------------+ | <pet><name>Wag</name><type>Dog</type></pet> | +---------------------------------------------+
Dalam contoh ini, markup XML asli memiliki <type>
. kosong elemen. Kami menggunakan UPDATEXML()
untuk memperbarui elemen itu, sehingga mengandung konten (Dog
).
Argumen Null
Melewati null
untuk setiap argumen mengembalikan 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;
Hasil:
+------+------+------+------+ | a | b | c | d | +------+------+------+------+ | NULL | NULL | NULL | NULL | +------+------+------+------+
Argumen Tidak Ada
Memanggil UPDATEXML()
dengan jumlah argumen yang salah, atau tanpa memberikan argumen apa pun menghasilkan kesalahan:
SELECT UPDATEXML();
Hasil:
ERROR 1582 (42000): Incorrect parameter count in the call to native function 'UPDATEXML'