MSSQL 변수 – 선언(DECLARE), 대입(SET), 반환(SELECT)
MS SQL에서는 다른 언어와 마찬가지로 변수를 선언하고 사용(할당) 할 수 있습니다. 특히 저장 프로시저, 함수, 트리거를 만들 때 필수적으로 변수를 선언하고 사용합니다.
그럼 간단한 예제를 통해서 변수 선언(DECLARE), 할당(SET), 반환(SELECT)에 대해서 알아보죠.
포스트 기준
– Microsoft SQL Server 2019
– SSMS 18.10
사용 예제
1. 샘플 데이터
-- 총 12건
SELECT *
FROM BS_DEMO_9
2. 예제 코드
▶변수 선언(DECLARE)과 동시에 변수 값을 할당할 수 있습니다. 할당하지 않는 경우는 NULL로 초기화됩니다.
▶변수에 값을 할당할 때에는 SELECT 보다 SET을 사용하세요.
-- 지역 변수 선언
DECLARE @P_ID_FR NVARCHAR(50),
@P_ID_TO NVARCHAR(50),
@P_ID NVARCHAR(50) = '1005' -- 선언과 동시에 변수값 할당
-- 지역 변수를 지정된 값으로 설정
SET @P_ID_FR = '1008'
-- 지역 변수를 식의 값으로 설정
-- 변수 할당에는 SELECT 보다 SET을 사용
SELECT @P_ID_TO = '1011'
-- 예제1) 지역 변수를 이용한 쿼리문
SELECT *
FROM BS_DEMO_9
WHERE P_ID >= @P_ID_FR
AND P_ID <= @P_ID_TO
ORDER BY 1
-- 예제2) 지역 변수를 이용한 쿼리문
SELECT *
FROM BS_DEMO_9
WHERE P_ID = @P_ID
-- 변수 할당값 가져오기
SELECT @P_ID_FR
-- 메세지 출력
PRINT @P_ID_TO
-- 일괄처리 종료
GO
3. 결과

함께 보면 좋은 게시글
- MSSQL BEGIN…END 블록 문법 – 흐름 제어(1)
- MSSQL CASE WHEN THEN 조건식 사용법 – 식(1)
- MSSQL IF…ELSE 블록 문법 – 흐름 제어(2)
- MSSQL WHILE(반복문), CONTINUE, BREAK 사용법 – 흐름 제어(3)
- MSSQL GOTO 문, RETURN 문 사용법 – 흐름 제어(4)
이 글이 도움이 되셨다면 공유 부탁 드립니다.


![[SSMS] 로컬 서버(PC)에 설치한 MSSQL 서버 연결하는 방법](https://bluesharehub.com/wp-content/uploads/2022/02/img_41.png)
