MariaDB
 sql >> Baza danych >  >> RDS >> MariaDB

Jak działa UPDATEXML() w MariaDB

W MariaDB, UPDATEXML() to wbudowana funkcja, która zastępuje pojedynczą część danego fragmentu znacznika XML nowym fragmentem XML, a następnie zwraca zaktualizowany XML.

Składnia

Składnia wygląda tak:

UPDATEXML(xml_target, xpath_expr, new_xml)

Gdzie:

  • xml_target to znacznik XML zawierający fragment XML, który chcesz zaktualizować
  • xpath_expr to konkretny fragment XML, który chcesz zaktualizować
  • new_xml jest fragmentem XML, który chcesz zastąpić xpath-expr z

Przykład

Oto podstawowy przykład:

SELECT
    UPDATEXML(
        '<pet><name>Wag</name><type></type></pet>', 
        '/pet/type', 
        '<type>Dog</type>'
        ) AS Result;

Wynik:

+---------------------------------------------+
| Result                                      |
+---------------------------------------------+
| <pet><name>Wag</name><type>Dog</type></pet> |
+---------------------------------------------+

W tym przykładzie oryginalny znacznik XML ma pusty <type> element. Użyliśmy UPDATEXML() zaktualizować ten element, tak aby zawierał treść (Dog ).

Argumenty zerowe

Przekazywanie null dla dowolnego argumentu zwraca 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;

Wynik:

+------+------+------+------+
| a    | b    | c    | d    |
+------+------+------+------+
| NULL | NULL | NULL | NULL |
+------+------+------+------+

Brakujące argumenty

Wywołanie UPDATEXML() z niewłaściwą liczbą argumentów lub bez przekazania jakichkolwiek argumentów powoduje błąd:

SELECT UPDATEXML();

Wynik:

ERROR 1582 (42000): Incorrect parameter count in the call to native function 'UPDATEXML'

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. MariaDB JSON_REPLACE() Objaśnienie

  2. Pierwsze kroki z ProxySQL — samouczek dotyczący równoważenia obciążenia MySQL i MariaDB

  3. 4 funkcje do pobrania godziny z wartości czasu w MariaDB

  4. Pełna lista zestawów znaków obsługiwanych przez MariaDB

  5. Funkcja AVG() w MariaDB