반응형
MSSQL 프로시저 IF 문은 조건에 따라서 분기 처리하기 위해서 사용하는 예약어입니다. 타 프로그래밍 언어도 문법의 차이는 있지만 정의는 같습니다.
프로시저 IF 문 정의 및 설명.
- 프로그램 언어에서 IF 문은 가장 기본적인 개념입니다.
- IF 문은 프로시저에서 분기 처리하기 위해서 사용합니다.
- 프로시저에서 IF 문을 중첩으로 사용할 수 있습니다.
- 프로시저 IF 문은 다중 조건문을 사용할 수 있습니다.
프로시저 IF 문 사용법.
IF 분기 처리 사용 방법.
- 프로시저 IF 문은 begin, end 블록 해줘야 유지보수에 좋습니다.
-- IF 분기처리 사용 방법.
-- DROP PROCEDURE [STORE_PROCEDURE_IF_STATEMENT_EX1];
CREATE PROCEDURE [DBO].[STORE_PROCEDURE_IF_STATEMENT_EX1]
@UseAge INT
AS
BEGIN
IF(@UseAge = 20)
BEGIN
PRINT('UseAge 20 이면 출력합니다.');
END
ELSE IF (@UseAge = 30)
BEGIN
PRINT('UseAge 30 이면 출력합니다.');
END
ELSE
BEGIN
PRINT('UseAge 20,30 아닌경우 출력합니다.');
END
END;
프로시저에서 IF 문을 중첩 사용법.
- IF 조건문 내부에서 IF 문 중첩으로 사용할 수 있습니다.
-- 프로시저에서 IF문을 중첩 사용법.
-- DROP PROCEDURE [[STORE_PROCEDURE_IF_STATEMENT_EX2]];
CREATE PROCEDURE [DBO].[STORE_PROCEDURE_IF_STATEMENT_EX2]
@UserNm VARCHAR(100),
@UseAge INT
AS
BEGIN
IF(@UseAge = 20)
BEGIN
IF(@UserNm ='Lee')
BEGIN
PRINT('UseAge: 20, UserNm:Lee 경우 출력합니다. ');
END
ELSE
BEGIN
PRINT('UseAge: 20 이고 UserNm:Lee 아닌경우 출력');
END
END
ELSE
BEGIN
PRINT('UseAge:20 아닌경우 출력 합니다.');
END
END;
프로시저 IF 문은 다중 조건문을 사용법.
- IF 조건문에서 AND, OR 예약어를 사용하여 다중 조건문을 작성할 수 있습니다.
-- 프로시저 IF문은 다중 조건문을 사용법.
-- DROP PROCEDURE [STORE_PROCEDURE_IF_STATEMENT_EX3];
CREATE PROCEDURE [DBO].[STORE_PROCEDURE_IF_STATEMENT_EX3]
@UserNm VARCHAR(100),
@UseAge INT,
@UserAddress VARCHAR(100)
AS
BEGIN
IF(@UseAge IN('10','20','30') AND @UserNm = 'Lee' and @UserAddress = 'LA' )
BEGIN
PRINT('UseAge: 10,20,30 포함되고, UserNm: Lee 이고, UserAddress: LA 인경우 출력합니다. ');
END
ELSE
BEGIN
PRINT('UseAge: 10,20,30 포함되고, UserNm: Lee 이고, UserAddress: LA가 아닌경우 출력합니다. ');
END
END;
프로시저 IF 문 마무리 하며.
- case when 문도 if 문하고 같이 분기 처리할 수 있습니다.
- T-SQL에서는 declare 문을 사용하면 IF 문을 사용할 수 있습니다.
- MSSQL에서는 between, in 구분, not 등의 조건도 사용할 수 있습니다.
반응형