poniedziałek, 7 stycznia 2013

Wyszukiwanie w kolumnie zawierającej XML

Jeżeli w tabeli jedna z kolumn zawiera XML, możemy łatwo wybierać dane z tej kolumny (struktury xml) jak i szukać po elementach XML-a. Nie ma potrzeby pobierania całej zawartości tabeli do pamięci w programie, a następnie wybieranie danych za pomocą np. LINQ2XML.

Przykład:

Struktura tabeli w bazie ma następującą postać:

pole detale filmu jest XML-em następującej postaci:

Code:
<Szczegoly>
 <WersjaJezykowa>EN/PL</WersjaJezykowa>
 <audio>5.1</audio>
 <lektor>EN/PL</lektor>
 <rok>2004</rok>
</Szczegoly>

Jeżeli chcemy wyszukać np. film z 1990 roku wystarczy napisać następującego SQL-a:


SELECT * FROM film WHERE detale_filmu.value('(Szczegoly/rok/node())[1]', 'int') = 1990


Język zapytań jaki tutaj został użyty w celu wyciągnięcia zawartości XMLa to XQuery

Brak komentarzy:

Prześlij komentarz