SQL en het gebruik van For XML: Raw en Auto

Geschreven door: op maandag 30 december 2019

Leestijd:

Een query binnen SQL geeft natuurlijk resultaten terug. Deze kun je op verschillende manieren weergeven: als tabel, als tekst of je kunt de resultaten opslaan in een bestand. Wat ook kan, is de resultaten van een query weergeven als XML. Hiervoor gebruik je de For XML functionaliteit binnen SQL. Maar hoe werkt dit precies?

De functie For XML heeft verschillende modes. In deze blog bespreken we de modus Auto en Raw:

  1. RAW: Deze modus genereerd een enkel <row> element voor elke rij die in de query resultaten terug komt. Je kunt hier verschillende levels in de XML maken door meerdere query’s te schrijven.

  2. AUTO: Deze modus maakt een gelevelde XML op basis van de SELECT query’s die je opgeeft. Je hebt hier minimale controle over hoe de XML wordt opgebouwd. Je kunt ook hier weer gebruik maken van meerdere query’s om de verschillende levels binnen de XML te creëren.

Nu volgen er 2 voorbeelden om beide beter uit te leggen.

We maken eerst een tweetal test tabellen aan:
SQL For XML raw results

For XML Raw

Met de volgende query maken we van deze tabel een XML bestand, met als eerste de modus RAW:

SQL For XML raw results

Dit geeft het volgende resultaat:

SQL For XML raw results

Je ziet dat hier per regel uit de resultaten een <row> wordt aangemaakt waarbij per kolom een attribuut wordt aangemaakt binnen de <row>.

Voor meer informatie over het gebruik van deze modus en extra voorbeelden, zie: https://docs.microsoft.com/en-us/sql/relational-databases/xml/use-raw-mode-with-for-xml?view=sql-server-ver15

For XML Auto

De volgende modus is AUTO. We maken weer gebruik van dezelfde testtabellen als bij het eerste voorbeeld:

Dit geeft het volgende resultaat:

Je ziet hier dat de resultaten van de query al meer uitgesplitst worden en niet meer alles in een <row> wordt neergezet. Ook zie je dat er een sub element wordt aangemaakt in de XML vanwege de JOIN die gedaan wordt. Als laatste krijgt de <row> de naam van de tabel waar de informatie vandaan komt.

Voor meer informatie over het gebruik van deze modus en extra voorbeelden, zie: https://docs.microsoft.com/en-us/sql/relational-databases/xml/use-auto-mode-with-for-xml?view=sql-server-ver15

In mijn volgende blog zullen EXPLICIT en PATH besproken worden. Deze is hier te lezen.


Andere blogartikelen

  • Tabellen in HTML

    Geschreven door: op maandag 30 december 2019

    Met UL, OL en LI maak je opsommingen. Met DL, DT en DD maak je lijsten van definities. Naast opsommingen en definities is er ook nog tabulaire data: gegevens die in een tabel staan, waarbij je rijen h ...

    Bekijk het artikel »
  • Tekst manipulatie in SQL met Stuff()

    Geschreven door: op maandag 30 december 2019

    In SQL heb je een aantal ingebouwde functies die erg handig kunnen zijn. Je kunt hier bijvoorbeeld denken aan Count(), welke het totaal aantal rijen teruggeeft van een query resultaat. Maar er zijn oo ...

    Bekijk het artikel »
  • SQL en het gebruik van For XML: Explicit en Path

    Geschreven door: op maandag 30 december 2019

    In mijn vorige blog hebben we For XML Raw en For XML Auto besproken. In deze blog zullen we For XML Explicit en For XML Path doornemen. Hieronder eerst wat uitleg over beide:EXPLICIT: Met ...

    Bekijk het artikel »
Bel 072 5345 888
Meer dan 40 bedrijven vertrouwen op ons
Onze Middelen en Technologieën
microsoft silver partner
Adobe partner
fd-gazellen-2018.jpg
Google analytics
partners-logo.jpg
Op de hoogte blijven?

Meld u aan voor de gratis nieuwsbrief om op de hoogte te blijven van onze activiteiten