Dominar integrações é uma habilidade importante para técnicos que ganham como diretores, seja para fazer troubleshooting ou implementar processos de gestão do negócio.

Nesse contexto, mostrarei como importar arquivos JSON no SQL com apenas uma linha de comando, além de converter tabelas do SQL para JSON, também com apenas uma linha de comando!

Assista ao vídeo de demonstração:

Script da aula



------------------------------------------------------------------
-- Como importar arquivos JSON no SQL
------------------------------------------------------------------

--------------------------------------------------
-- Requisitos para o teste
--------------------------------------------------
/*
== Salvar em "c:\tmp\pessoas.json" o conteúdo:
{
	"pessoas": {
		"pessoa": [
			{
				"id": "1",
				"nm": "Priscila Laborão",
				"profissao": "Recrutadora"
			},
			{
				"id": "2",
				"nm": "Tiragato Dakatola",
				"profissao": "Mágico"
			},
			{
				"id": "3",
				"nm": "Ricy Windfuck",
				"profissao": "Usineiro"
			}
		]
	}
}

*/


--------------------------------------------------
-- JSON => Variável
--------------------------------------------------
declare @j varchar(max) = (select bulkcolumn from openrowset (bulk 'c:\tmp\pessoas.json', single_clob) a)
select @j as [json]


--------------------------------------------------
-- JSON => Variável => Tabela
--------------------------------------------------
select 
	*
from openjson (@j, '$.pessoas.pessoa') 
with (id int, nm varchar(100), profissao varchar(100)) pessoas


--------------------------------------------------
-- Tabela => json
--------------------------------------------------
declare @pessoas table (id int, nm varchar(100), profissao varchar(100))
insert into @pessoas values 
	(1, 'Priscila Laborão', 'Recrutadora'),
	(2, 'Tiragato Dakatola', 'Analista de TI'),
	(3, 'Ric Wyndfuck', 'Usineiro')

select 
	* 
from @pessoas as pessoa 
for json auto, root('pessoas')
go


Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *