Apache Derby: operator XMLSERIALIZE
Opis
Odczytuje dane z typu Derby XML i przekształca je we wskazany typ znakowy.
Składnia polecenia
XMLSERIALIZE (string AS typZnakowy)
Objaśnienia
Słowo kluczowe ‘AS’ jest obowiązkowe.
‘string’ może być:
wartościa typu DerbyXML np. generowaną przez XMLQUERY:
Przykład
SELECT id, XMLSERIALIZE(pies AS CLOB) FROM psy
gdzie ‘id’ jest kolumną typu INTEGER, ‘pies’ jest kolumną typu typu XML w tabeli ‘psy’. Dane z kolumny XML są przekształcane w typ CLOB
Aby odzyskać dane z typu CLOB lub innego należy użyć stosownej metody JDBC.
Przykład 2
SELECT id, XMLSERIALIZE(XMLQUERY('//imie[@country=\"PL\"]' PASSING BY REF pies EMPTY ON EMPTY) AS CLOB) FROM psy
gdzie ‘id’ jest kolumną typu INTEGER, ‘pies’ jest kolumną typu XML w tabeli ‘psy’. XMLQUERY wyszukuje atrybut ‘country’ = ‘PL’ w elemencie ‘imie’ i zwraca wynik w postaci XML. XMLSERIALIZE pobiera XML i zwraca w postaci CLOB. Aby pobrać dane z CLOB należy użyć odpowiedniej metody JDBC.
‘string’ nie może być parametrem
‘typZnakowy’ to jeden z poniższych typów:
- CHAR
- LONG VARCHAR
- VARCHAR
- CLOB
Jeśli operator XMLSERIALIZE jest częścią zbioru wynikowego w zapytaniu, wynik może być pobrany przez właściwe dla typu metody getXXX JDBC.
Przykład
Przykład zbiorczy dla operatorów XML znajduje się we wpisie Apache Derby: operatory XML