SQL 프로그래밍(2)
WHILE, CONTINUE, BREAK
WHILE
참인 동안 계속 반복되는 반복문
CONTINUE, BREAK
CONTINUE는 WHILE 문의 비교문으로 이동하고, BREAK는 WHILE 문을 빠져나감
구문 형식
DECLARE @i int -- 1에서 100까지 증가할 수
DECLARE @acc BIGINT -- 더한 값을 누적할 변수
SET @i = 1
SET @acc = 0
WHILE (@i <= 100)
BEGIN -- WHILE문 블럭 시작
IF (@i % 7 = 0)
BEGIN
PRINT '7배수:' + CAST(@i AS NCHAR(3))
SET @i = @i + 1
CONTINUE
END
SET @acc = @acc + @i
IF (@acc > 1000) BREAK
SET @i = @i + 1
END -- WHILE문 블럭 종료
PRINT '합계 = ' + CAST(@acc AS NCHAR(3));
GOTO
지정한 위치로 무조건 이동함 되도록 사용하지 않는 것이 좋은 구문
-- ...(중간 생략)
SET @acc += i
if (@acc > 1000) GOTO endPrint
SET @i += i
END
endprint:
PRINT N '합계 = ' + CAST(@acc AS NCHAR(10))