트랜잭션 SQL
Transact-SQLT-SQL(Transact-SQL)은 관계형 데이터베이스와 상호 작용하기 위해 사용되는 SQL(Structured Query Language)에 대한 Microsoft 및 Sybase의 고유 확장 기능입니다.T-SQL은 SQL 표준을 확장하여 절차적 프로그래밍, 로컬 변수, 문자열 처리를 위한 다양한 지원 기능, 날짜 처리, 수학 등을 포함하며 DELETE 및 UPDATE 문에 대한 변경 사항도 포함합니다.
Transact-SQL은 Microsoft SQL Server 사용의 중심입니다.SQL Server 인스턴스와 통신하는 모든 응용 프로그램은 응용 프로그램의 사용자 인터페이스에 관계없이 서버에 Transact-SQL 문을 전송하여 이 작업을 수행합니다.
SQL Server의 저장 프로시저는 실행 가능한 서버 측 루틴입니다.저장 프로시저의 장점은 파라미터를 전달할 수 있다는 것입니다.
변수
Transact-SQL은 로컬 변수를 선언 및 설정하기 위한 다음 문을 제공합니다.DECLARE
,SET
그리고.SELECT
.
선언하다 @var1 키보드(30); 세트 @var1 = '어떤 이름'; 선택한다. @var1 = 이름. 부터 판매의.가게 어디에 고객.아이디 = 100;
흐름 제어
Transact-SQL 흐름 제어 키워드는 다음과 같습니다.BEGIN
그리고.END
,BREAK
,CONTINUE
,GOTO
,IF
그리고.ELSE
,RETURN
,WAITFOR
,그리고.WHILE
.
IF
그리고.ELSE
조건부 실행을 허용합니다.이 배치문은 현재 날짜가 주말이면 "It's the weekend", 현재 날짜가 평일이면 "It's weekend"로 인쇄됩니다.(주의:이 코드는 일요일이 다음 주의 첫 요일로 설정되어 있는 것을 전제로 하고 있습니다.@@DATEFIRST
설정)
한다면 날짜 부품(dw, 날짜 취득()) = 7 또는 날짜 부품(dw, 날짜 취득()) = 1 인쇄하다 '주말이다.; 또 다른 인쇄하다 평일입니다.;
BEGIN
그리고.END
진술의 일단을 채점을 찍다위의 예에서 조건부로 둘 이상의 스테이트먼트를 제어해야 하는 경우,BEGIN
그리고.END
다음과 같습니다.
한다면 날짜 부품(dw, 날짜 취득()) = 7 또는 날짜 부품(dw, 날짜 취득()) = 1 시작한다. 인쇄하다 '주말이다.; 인쇄하다 "주말에 좀 쉬세요!"; 끝.; 또 다른 시작한다. 인쇄하다 평일입니다.; 인쇄하다 '평일에 출근하라!'; 끝.;
WAITFOR
는 지정된 시간 동안 또는 하루 중 특정 시간까지 기다립니다.이 문은 지연 또는 설정 시간까지 실행을 차단하기 위해 사용할 수 있습니다.
RETURN
저장 프로시저 또는 함수에서 즉시 복귀하는 데 사용됩니다.
BREAK
에워싸다WHILE
루프, 한편CONTINUE
는 루프의 다음 반복을 실행합니다.의 예WHILE
루프는 다음과 같습니다.
선언하다 @i 인트; 세트 @i = 0; 하는 동안에 @i < > 5 시작한다. 인쇄하다 '헬로우 월드'; 세트 @i = @i + 1; 끝.;
DELETE 및 UPDATE 문의 변경
Transact-SQL에서는 양쪽 모두DELETE
그리고.UPDATE
스테이트먼트가 확장되어 서브쿼리 없이 다른 테이블의 데이터를 조작에 사용할 수 있게 되었습니다.
DELETE
에서 조인된 테이블을 받아들입니다.FROM
절과 마찬가지로SELECT
이 작업이 완료되면 조인에서 삭제할 테이블의 이름 또는 별칭이 다음 사이에 배치됩니다.DELETE
그리고.FROM
.UPDATE
허가하다FROM
추가할 절입니다.갱신할 테이블은 다음 중 하나로 결합할 수 있습니다.FROM
절과 에일리어스에 의해 참조되거나 표준 SQL에 따라 문의 시작 부분에서만 참조됩니다.
이 예에서는 모든 것을 삭제합니다.users
'아이돌' 깃발을 단 사람들입니다.
삭제 u 부터 사용자 ~하듯이 u 내부 합류하다 user_module ~하듯이 f 온 u.아이디 = f.아이디 어디에 f.이름. = '실패';
벌크 인서트
BULK
는 벌크 데이터 로드 프로세스를 구현하는 Transact-SQL 스테이트먼트입니다.테이블에 여러 행을 삽입하여 외부 시퀀셜파일에서 데이터를 읽습니다.사용방법BULK INSERT
개개의 프로세스를 발행하는 것보다 퍼포먼스가 향상됩니다.INSERT
추가되는 각 행에 대한 문.상세한 것에 대하여는, MSDN 를 참조해 주세요.
캐치하기
SQL Server [1]2005부터 마이크로소프트는 추가 기능을 도입했습니다.TRY CATCH
예외 유형 동작을 지원하는 로직입니다.이 동작에 의해 개발자는 코드를 단순화하고 생략할 수 있습니다.@@ERROR
각 SQL 실행 문 뒤에 체크합니다.
-- 트랜잭션을 시작합니다. 시작한다. 트랜; 시작한다. 해라 -- 각 스테이트먼트를 실행합니다. 삽입 안으로 마이테이블(이름.) 가치 ('ABC'); 삽입 안으로 마이테이블(이름.) 가치 ('123'); -- 트랜잭션을 커밋합니다. 저지르다 트랜; 끝. 해라 시작한다. 또 만나 -- 오류로 인해 트랜잭션을 롤백합니다. 롤백 트랜; 끝. 또 만나;
「 」를 참조해 주세요.
- 적응형 서버 엔터프라이즈(Sybase)
- PL/SQL(Oracle)
- PL/pgSQL(Postgre)SQL)
- SQL/PSM(ISO 표준)
- Sys.sisobjects
- 표 형식의 데이터 스트림