본문 바로가기

728x90
반응형

TSQL

(2)
SQL Server - GO에 대해서 (BATCH) GO를 알기 전에 작업단위 (BATCH)란? 실행을 위해 프로그램으로부터 서버로 동시에 전송되어 실행되는 여러 T-SQL문장의 조합 MSSQL의 데이터베이스 엔진은 작업단위로 전송된 SQL 문장들에 대해 단일 실행계획으로 만들어 수행 만약 작업단위내 한 문장이라도 컴파일 오류를 포함하게 되면 해당 작업단위는 수행되지 않는다 이때, 일괄처리를 정하기위해서 "GO"라는 예약어를 사용한다. GO를 쓰는 이유. 한마디로 BATCH (일괄처리)의 단위라고 볼 수 있다. 한줄 한줄 실행할 때마다 매번 데이터베이스에 접속하면 처리시간이 길어지고 비효율적이다. 이에 큰 덩어리 단위로, 묶어서 보내주는 BATCH 개념이 나오게 된다. 그리고 GO는 그 구분점. GO명령어는 T-SQL의 구문이 아니며, 아래의 3개 툴에서..
데이터 피벗, 언피벗 (Pivot, Unpivot) 데이터 피벗? 행을 기반으로 하는 데이터를 컬럼을 기반으로 하는 상태로 바꾸는 것. 다음같은 내용의 결과가 있다고 할 때, SELECT empid, custid, SUM(qty) AS SumQty FROM dbo.Orders GROUP BY empid, custid; 직원 ID별 (행), 고객별 (컬럼) 의 총 수량을 출력하고자 하는 리포트를 만들고자 한다면. (피벗팅) 모든 피벗팅은 3가지 논리적 프로세싱 단계로 수행되며, 각 단계마다 필요한 요소가 존재한다. 그룹핑 - 연관된 그룹핑 또는 행 요소를 필요로 하며, 전개 - 연관된 전개 요소 또는 컬럼 요소를 필요로 하며, 집계 - 연관된 집계 요소와 집계 함수를 필요로 한다 여기선 각 직원ID마다 결과를 하나의 행으로 출력 (그룹핑) 고객ID별로 수량..

반응형