SQL Server 2016 : Les nouveautés

Utiliser OPENJSON pour traduire JSON en table SQL

Testez gratuitement nos 1271 formations

pendant 10 jours !

Tester maintenant Afficher tous les abonnements
La syntaxe OPENJSON permet de récupérer un document JSON et de le traduire directement en table SQL. Il s'agit d'insérer ou de mettre à jour des données.
03:24

Transcription

Voyons maintenant la syntaxe Openjson qui est également assez simple. Je déclare une variable varshar(max), je mets mon Json, et ça va simuler, eh bien, peut-être, l'envoi d'un document Json en paramètre d'une procédure stockée ou l'integration d'un document Json qui vient d'une ressource reste. Et ce que je veux, c'est immédiatement le transformer en table. Donc, la différence est qu'ici je fais un select avec Json value, Json query, et je me retourne une ligne. Mais mon document Json va contenir plusieurs contacts, et avec OpenJson je vais transformer automatiquement chaque contact. Chaque élément premier niveau en une ligne. Je prends mon ducument, je fais un OpenJson sans rien, juste comme ça. Et automatiquement je vais avoir une colonne Key qui va être ajoutée, juste une numérotation, un type 5, c'est le type de l'élément. Et ce type indique ce qui a été récupéré ici comme valeur. Le type 5 veut dire que c'est un objet, en fait c'est un objet complexe. Mais vous avez la chaîne de caractères en un, l'entier en 2, vrai, faux en trois et vous avez un tableau également type 4. C'est quand même assez puissant et assez simple à utiliser. En dessous de l'OpenJson je peux rajouter plus de précisions comme je le fais ici. Pour dire OK, tu m'ouvres ça, tu fais un OpenJson, mais de ceci tu ne vas conserver que certains éléments, que tu vas automatiquement convertir en type de données Transact SQL. Je vais prendre le ContactID que je vais trouver ici, ça doit être exactement le même nom et c'est sensible à la casse, c'est un Json nommé Cason city. Donc, le ContactID c'est de l'entier, le nom qui est ici c'est du nvarshar, je peux mettre du varshar, voilà, parce que je sais que ce n'est pas du nvarshar que je vais récupérer. Le prénom c'est du Varshar et le reste je l'ignore parce que je ne l'ai pas défini dans le Wtih. Si je ne définis rien ici on va prendre tout. Si je définis quelque chose ici on va prendre que ce qui va être défini. Donc, je commence ceci, je reprends ma variable, et voilà le resultat. Plutôt pratique, non ? Et avec, je me répète une syntaxe, vraiment très clean. Et à partir de ça je peux donc récupérer un Json, faire un insert dans une table à partir de ce select ou bien même faire un update comme dans cet exemple où je dis : mets à jour les contacts, change le prénom depuis un OpenJson avec le ContactID le nom, le prénom qui sont extraits. Je fais un alias as j, donc, c'est l'alias de mon OpenJson. Et ma Closer va faire la close de jointure en quelque sorte, entre ça, Contact.Contact.ContactiD et ça, et ça qui est J.ContactID. Et je commence ceci, je déclare, et voilà, 10 lignes affectées, l'update a été fait. Voyez que c'est vraiment très très pratique de travailler maintenant en SQL server 2016 avec du Json.

SQL Server 2016 : Les nouveautés

Découvrez les nouveautés de SQL Server 2016. Voyez les options de configuration limitées aux bases de données, le chiffrage de données à partir des applications clientes, etc.

2h26 (27 vidéos)
Aucun commentaire n´est disponible actuellement
 

Votre formation est disponible en ligne avec option de téléchargement. Bonne nouvelle : vous ne devez pas choisir entre les deux. Dès que vous achetez une formation, vous disposez des deux options de consultation !

Le téléchargement vous permet de consulter la formation hors ligne et offre une interface plus conviviale. Si vous travaillez sur différents ordinateurs ou que vous ne voulez pas regarder la formation en une seule fois, connectez-vous sur cette page pour consulter en ligne les vidéos de la formation. Nous vous souhaitons un excellent apprentissage avec cette formation vidéo.

N'hésitez pas à nous contacter si vous avez des questions !