요약
이 모듈에서는 보다 표현적이고 효율적이며 유지 관리 가능한 데이터베이스 코드를 작성하는 데 도움이 되는 고급 T-SQL 기술을 알아보았습니다. 이러한 기능은 복잡한 분석, 계층적 데이터, JSON 처리 및 오류 처리와 관련된 일반적인 데이터베이스 개발 시나리오를 해결합니다.
당신은 다음을 배우셨습니다:
- 복잡한 쿼리를 구성하고 재귀 패턴을 사용하여 계층적 데이터 구조를 트래버스하기 위한 CTE(공통 테이블 식) 작성
- 행 수준 세부 정보를 유지하는 순위, 실행 합계, 이동 평균 및 분석 계산에 창 함수 적용
- , ,
JSON_OBJECTJSON_ARRAYJSON_ARRAYAGGOPENJSON등의JSON_VALUEJSON 함수를 사용하여 JSON 데이터를 구문 분석, 생성 및 변환합니다. - 정규식을 구현하여
REGEXP_LIKE,REGEXP_REPLACE,REGEXP_SUBSTR및 관련 함수를 사용하여 패턴 매칭과 텍스트 조작을 수행합니다. - 유사 문자열 함수인
EDIT_DISTANCE,EDIT_DISTANCE_SIMILARITY, 및JARO_WINKLER_DISTANCE를 사용하여 유사한 항목 찾기 -
MATCH연산자와SHORTEST_PATH를 사용하여 그래프 테이블을 만들고 관계를 탐색하는 쿼리 작성 - 행별 비교, 존재 확인 및 행별 계산에 대한 상관 관계가 있는 하위 쿼리 작성
- , 오류 함수 및 적절한 트랜잭션 관리를 사용하여
TRY...CATCHTHROW구조적 오류 처리 구현
주요 내용
- 재귀 CTE는 조직도 또는 재료 대금 청구 구조와 같은 계층적 데이터를 트래버스하기 위한 표준 접근 방식입니다.
- 절이 있는
OVER창 함수를 사용하면 행을 축소하지 않고도 분석 계산을 수행할 수 있습니다. 합계 및 순위를 실행하기 위해 자체 조인 대신 사용 -
JSON_OBJECT관계형 데이터에서 JSON을 생성하고JSON_ARRAYAGGOPENJSONJSON을 관계형 행으로 구문 분석합니다. -
JARO_WINKLER_DISTANCE는 이름 일치에 최적화되어 있습니다.EDIT_DISTANCE_SIMILARITY더 긴 문자열에 더 적합합니다. - 트랜잭션이 활성화되지 않은 경우를 처리하려면 항상
CATCH블록 내에서ROLLBACK전에@@TRANCOUNT를 확인하십시오. -
SET XACT_ABORT ON을(를)TRY...CATCH과 결합하여 전체 트랜잭션 보호를 제공하십시오.