은행 API를 통해 JSON 연동된 계좌 거래내역을 Parsing 하여 시스템에 반영한 사례를 정리하였습니다.
OPENJSON 함수를 사용하여 API연동 DataSet에 맞는 명시적 구조 설정이 필요합니다.
※ 예금계좌내역 API 연동정보는 아래와 같다고 가정합니다.
파라미터명 | 데이터타입 | 설명 |
RTN_CODE | NVARCHAR(20) | 응답코드 |
RTN_MSG | NVARCHAR(100) | 응답메시지 |
ACCNO | NVARCHAR(20) | 계좌번호 |
TRNS_YMD | NVARCHAR(10) | 거래년월일 |
TRNS_TTM | NVARCHAR(10) | 거래시간 |
DRAW_AMT | NVARCHAR(20) | 출금금액 |
MRV_AMT | NVARCHAR(20) | 입금금액 |
BAL_AMT | NVARCHAR(20) | 잔액 |
BAL_AMT | NVARCHAR(50) | 적요 |
[예시쿼리]
DECLARE @json NVARCHAR(MAX)
SET @json =
N'[
{
"RESULT": {
"RTN_CODE":"RTN1001",
"RTN_MSG":"정상",
"ACCNO":"00000000000",
"TRNS_YMD":"20220101",
"TRNS_TTM":"193030",
"DRAW_AMT":"1,000,000",
"MRV_AMT":"0",
"BAL_AMT":"1,000,000",
"SUMMARY":"입금"
}
},
{
"RESULT": {
"RTN_CODE":"RTN1002",
"RTN_MSG":"정상",
"ACCNO":"00000000000",
"TRNS_YMD":"20220115",
"TRNS_TTM":"193030",
"DRAW_AMT":"100,000",
"MRV_AMT":"0",
"BAL_AMT":"900,000",
"SUMMARY":"출금"
}
}
]'
SELECT *
FROM OPENJSON ( @json )
WITH (
RTN_CODE NVARCHAR(20) '$.RESULT.RTN_CODE',
RTN_MSG NVARCHAR(100) '$.RESULT.RTN_MSG',
ACCNO NVARCHAR(20) '$.RESULT.ACCNO',
TRNS_YMD NVARCHAR(10) '$.RESULT.TRNS_YMD',
TRNS_TTM NVARCHAR(10) '$.RESULT.TRNS_TTM',
DRAW_AMT NVARCHAR(20) '$.RESULT.DRAW_AMT',
MRV_AMT NVARCHAR(20) '$.RESULT.MRV_AMT',
BAL_AMT NVARCHAR(20) '$.RESULT.BAL_AMT',
SUMMARY NVARCHAR(50) '$.RESULT.SUMMARY'
)
쿼리 실행 시 오류가 발생하는 경우 연동된 JSON 데이터의 유효성 체크가 우선시되어야 합니다.
아래의 사이트에서 간편하게 기능을 제공하니 참고 부탁드립니다.
읽어주셔서 감사합니다.
반응형
최근댓글