Notice
Recent Posts
Recent Comments
Link
투케이2K
33. (MSSQL/SQL) 테이블 변수 선언 및 while 반복문 구문을 사용해 테이블 조회 결과 출력 실시 본문
[개발 환경 설정]
개발 툴 : SSMS
개발 언어 : MSSQL
[소스 코드]
/*
[테이블 변수 선언 및 while 반복문 구문을 사용해 테이블 조회 결과 출력 실시]
1. declare begin end - PL/SQL 기본으로 쿼리, 문법을 실행할 수 있습니다
2. declare [선언부] - 변수, 상수를 선언할 수 있습니다
3. begin [실행부] - 제어, 반복문, 함수 등 다양한 로직 기술을 실행합니다
4. end [종료부] - 실행된 로직의 종료를 선언합니다
5. set [할당] - 선언한 변수에 값을 할당할 수 있습니다
6. print [출력] - 결과물을 출력할 때 사용합니다
7. while - 지정한 단계 만큼 반복문을 수행할 수 있습니다
*/
DECLARE
-- [임시 테이블 변수 부분]
@V_TABLE TABLE
(
V_ROW INT IDENTITY(1,1) NOT NULL, -- 자동 인덱스 증가
V_NAME VARCHAR(100),
V_DEPT VARCHAR(100)
);
-- [임시 테이블에 실제 테이블 데이터 저장 실시]
INSERT INTO @V_TABLE(V_NAME, V_DEPT)
SELECT T_NAME, T_DEPT
FROM TEST_USER
WHERE T_DEPT IN ('백제', '후백제')
ORDER BY T_DEPT DESC;
DECLARE
-- [초기 변수 선언 부분]
@M_ROW_NOW AS INT,
@M_ROW_MAX AS INT,
@M_NAME AS VARCHAR(100),
@M_DEPT AS VARCHAR(100);
-- [반복문 수행 행 변수에 값 삽입 실시]
SELECT @M_ROW_NOW = MIN(V_ROW), @M_ROW_MAX = MAX(V_ROW) FROM @V_TABLE;
-- [WHILE 반복 구문 선언]
WHILE(@M_ROW_NOW <= @M_ROW_MAX)
BEGIN
-- [SELECT 결과 매핑 실시]
SELECT @M_NAME = V_NAME, @M_DEPT = V_DEPT
FROM @V_TABLE
WHERE @M_ROW_NOW = V_ROW;
-- [Print 결과 출력 실시]
PRINT '행 번호 : ' + CONVERT(VARCHAR, @M_ROW_NOW);
PRINT '이름 : ' + CONVERT(VARCHAR, @M_NAME);
PRINT '부서 : ' + CONVERT(VARCHAR, @M_DEPT);
PRINT '';
-- [카운트 증가 실시]
SET @M_ROW_NOW = @M_ROW_NOW + 1;
END;
[결과 출력]
[요약 설명]
/*
[테이블 변수 선언 및 while 반복문 구문을 사용해 테이블 조회 결과 출력 실시]
1. declare begin end - PL/SQL 기본으로 쿼리, 문법을 실행할 수 있습니다
2. declare [선언부] - 변수, 상수를 선언할 수 있습니다
3. begin [실행부] - 제어, 반복문, 함수 등 다양한 로직 기술을 실행합니다
4. end [종료부] - 실행된 로직의 종료를 선언합니다
5. set [할당] - 선언한 변수에 값을 할당할 수 있습니다
6. print [출력] - 결과물을 출력할 때 사용합니다
7. while - 지정한 단계 만큼 반복문을 수행할 수 있습니다
*/
반응형
'MsSqlDB' 카테고리의 다른 글
35. (MSSQL/SQL) REVERSE 사용해 문자열 데이터 거꾸로 (반대로) 출력 실시 (0) | 2021.10.04 |
---|---|
34. (MSSQL/SQL) coalesce 사용해 널이 아닌 첫번째 값을 출력 실시 (0) | 2021.10.04 |
32. (MSSQL/SQL) ISNULL , CASE 문을 사용해서 널 NULL 데이터 확인 및 대체 값 출력 실시 (0) | 2021.10.03 |
31. (MSSQL/SQL) 커서 CURSOR 사용해 테이블 행 조회 결과 출력 실시 - CURSOR FOR OPEN , FETCH NEXT FROM (0) | 2021.10.03 |
30. (MSSQL/SQL) while 반복문 구문을 사용해 sum 합계 구하기 실시 - declare, begin, end (0) | 2021.10.03 |
Comments