상세 컨텐츠

본문 제목

[MSSQL] Json문서 MSSQL에 입력하기

SQL Server

by 코딩하는 박줄기 2022. 11. 16. 22:58

본문

728x90
반응형

SQL Server에 JSON 파일을 가져오는 방법을 설명합니다. 파일에 저장된 JSON 데이터를 읽고, 데이터를 SQL Server에 로드하여 분석합니다.

 

적용 대상: SQL Server 2016(13.x) 이상

* SQL Server가 설치된 PC에 파일이 있어야 합니다.

 

 

JSON 문서 가져오기

1. JSON 파일의 콘텐츠를 읽고 BulkColumn 단일 값으로 반환

SELECT BulkColumn
FROM OPENROWSET (BULK 'C:\product.txt', SINGLE_CLOB) as j;

OPENROWSET(BULK), 로컬 드라이브 또는 네트워크에 있는 모든 파일에서 데이터를 읽을 수 있는 테이블 반환 함수입니다. 파일의 콘텐츠를 포함하는 단일 열로 된 테이블을 반환합니다. 

 

 

2. JSON 파일의 콘텐츠를 로드한 후 JSON 텍스트를 #temp 임시 테이블에 저장

SELECT BulkColumn
INTO #temp
FROM OPENROWSET (BULK 'C:\product.txt', SINGLE_CLOB) as j

 

3. 단일 값으로 전체 JSON 파일을 읽지 않고 파일 구문을 분석하여 행과 열에 반환

SELECT value
FROM OPENROWSET (BULK 'C:\product.txt', SINGLE_CLOB) as j
CROSS APPLY OPENJSON(BulkColumn)

OPENJSON(), BulkColumn 배열에서 각 행에 하나의 JSON 개체를 반환합니다. 

 

4. 로드된 JSON을 구문 분석하여 필드를 열로 반환

SELECT product.*
FROM OPENROWSET (BULK 'C:\product.txt', SINGLE_CLOB) as j
CROSS APPLY OPENJSON(BulkColumn)
WITH([ProductID] int, [Name] nvarchar(50), ProductNumber nvarchar(25), Color nvarchar(15), StandardCost money) AS product

 

5. Json 파일의 컨텐츠를 테이블에 저장

SELECT product.*
INTO new_product
FROM OPENROWSET (BULK 'C:\product.txt', SINGLE_CLOB) as j
CROSS APPLY OPENJSON(BulkColumn)
WITH([ProductID] int, [Name] nvarchar(50), ProductNumber nvarchar(25), Color nvarchar(15), StandardCost money) AS product

 

참조

728x90
반응형

관련글 더보기

댓글 영역