T-SQL
T-SQL
T-SQL이란
마이크로소프트와 사이베이스가 SQL을 확장한 것. 절차적 프로그래밍, 지역 변수, 문자열 처리, DELETE 와 UPDATE 변경 등등을 포함. 마이크로소프트 SQL 서버에서 사용.
PL-SQL과의 차이점
둘 다 SQL을 절차 지향 프로그래밍으로의 확장이지만, T-SQL은 마이크로소프트 제품이자 완전 튜링. 반면 PL-SQL은 Oracle 제품이자 블록 구조화된 언어.
변수
DECLARE을 통해 변수를 정의하고, SET을 통해 변수를 설정 가능.
DECLARE @level INT;
SET @level = 250;
SELECT @level = UserLevel
FROM Users
흐름 제어
흐름 제어를 위해 다음과 같은 키워드 사용.
- IF / ELSE
- BEGIN / END: 하나의 block을 만들 수 있음
- WAITFOR: 주어진 시간 혹은 특정 시각까지 대기
- RETURN
- WHILE / BREAK / CONTINUE
- TRY / CATCH
UPDATE 와 DELETE 변경
- 다른 테이블의 데이터를 sub query 없이 변경 / 삭제 가능.
- FROM 절에서 조인된 테이블을 허용.
DELETE u
FROM users AS u
INNER JOIN old_users AS o
ON u.id = o.id
WHERE o.level < 101;
Bulk Insert
다량의 데이터 로딩, 여러 행 테이블에 삽입등을 구현하는 SQL 문. 단일 SQL들을 따로 실행하는 것보다 성능이 좋음.