SQL en het gebruik van For XML: Raw en Auto

Geschreven door: op maandag 30 december 2019

Leestijd: 2 minuten

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

  • Overeenkomsten tussen Growth Hacking en UX design

    Geschreven door: op zondag 13 september 2020

    Laten we beginnen met wat Growth hacking is, Growth hacking zijn experimenten voor oplossingen die groeiproblemen moeten oplossen. Dit is een nieuwe marketing aanpak die met name wordt gedreven door d ...

    Bekijk het artikel »
  • B2B SEO en Geoptimaliseerde Afbeeldingen

    Geschreven door: op woensdag 12 augustus 2020

    In een tijd waarin 27% van het koopproces van B2B kopers met eigen online research wordt doorgebracht is het essentieel om een goed vindbare website te hebben. Afbeeldingen kunnen, indien geoptimalise ...

    Bekijk het artikel »
  • Prospects zoeken B2B

    Geschreven door: op woensdag 12 augustus 2020

    Het zoeken van B2B prospects is een uitdaging voor elk bedrijf. Met name kwalitatieve B2B prospects.Door vooraf onderzoek te doen naar bedrijven die voldoen aan je criteria en je marketing hierop aan ...

    Bekijk het artikel »
Bel 072 5345 888
Meer dan 40 bedrijven vertrouwen op ons
Allrig is de alles in een leverancier binnen de energie-industrie
AOC is een toonaangevend wereldwijd bedrijf actief in de verkoop van kwaliteitsharsen
ERIKS is een toonaangevende en innovatieve leverancier aan de procesindustrie en aan machinebouwers, die zowel de rol van specialist als die van brede MRO-leverancier vervult
Industrieel dienstverlener Heinen & Hopman Engineering uit Bunschoten is dé wereldwijde specialist op het gebied van klimaatbeheersing
Handicare is een internationale organisatie die ouderen helpt om hun dagelijks leven gemakkelijker te maken door het produceren van hoogwaardige trapliften
Op de hoogte blijven?

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