Notice
Recent Posts
Recent Comments
Link
투케이2K
52. (MSSQL/SQL) [프로시저/PROCEDURE] [INPUT [부서] / OUT [컬럼]] 특정 부서 데이터 조회 본문
MsSqlDB
52. (MSSQL/SQL) [프로시저/PROCEDURE] [INPUT [부서] / OUT [컬럼]] 특정 부서 데이터 조회
투케이2K 2022. 5. 1. 11:27[개발 환경 설정]
개발 툴 : SSMS
개발 언어 : MSSQL
[소스 코드]
/***************************************************************/
CREATE PROCEDURE PRO_SEL_DEPT -- [생성]
--ALTER PROCEDURE PRO_SEL_DEPT -- [수정]
(
@IN_DEPT NVARCHAR(100) -- [인풋 : 부서]
)
/***************************************************************
설명 - 사용자 디바이스 고유값 일괄 초기화 수행
---------------------------------------------------------------
프로시저 생성 조회 : sp_helptext 'dbo.PRO_SEL_DEPT'
---------------------------------------------------------------
프로시저 호출 : EXEC PRO_DEL_UUID;
-- [변수 선언]
DECLARE @IN_DEPT NVARCHAR(100);
-- [인풋 값 대입 실시]
SET @IN_DEPT = '고구려';
-- [프로시저 호출]
EXEC PRO_SEL_DEPT @IN_DEPT;
---------------------------------------------------------------
프로시저 삭제 : DROP PROCEDURE PRO_SEL_DEPT
***************************************************************/
AS
/**************** [프로시저 전역 변수 선언 실시] ***************/
DECLARE @V_STEP NVARCHAR(100); -- [디버깅 단계]
DECLARE @V_DATE NVARCHAR(100); -- [프로시저 수행 시간]
DECLARE @OUT_MSG NVARCHAR(500); -- [리턴 메시지]
/************** [프로시저 동작 쿼리문 작성 실시] ***************/
BEGIN TRY
/*=========================================================*/
-- [로직 : 스텝 저장]
SET @V_STEP = '1';
-- [프로시저 수행 날짜 및 시간 확인]
SET @V_DATE = CONVERT(CHAR(19), getDate(), 20);
/*=========================================================*/
-- [로직 : 스텝 저장]
SET @V_STEP = '2';
-- [사전 인풋 데이터 체크 수행 실시]
IF LEN(TRIM(@IN_DEPT)) = 0 OR TRIM(@IN_DEPT) = ''
BEGIN
-- [메시지 출력]
SET @OUT_MSG = 'N: 인풋 데이터 값을 확인해 주세요. [STEP = ' + @V_STEP + '] ' + '[' + @V_DATE + ']';
PRINT '========================================='
PRINT @OUT_MSG
PRINT '========================================='
-- [리턴 컬럼 반환 실시]
SELECT @OUT_MSG;
-- [리턴 종료]
RETURN;
END
/*=========================================================*/
-- [인풋 데이터 조건으로 컬럼 데이터 조회 실시]
SELECT *
FROM TEST_USER
WHERE T_DEPT = @IN_DEPT;
-- [메시지 출력]
SET @OUT_MSG = 'Y: SUCCESS ' + '[' + @V_DATE + ']';
PRINT '========================================='
PRINT @OUT_MSG
PRINT '========================================='
-- [리턴 처리]
RETURN;
/*=========================================================*/
END TRY
/************** [프로시저 예외 발생 처리 실시] ***************/
BEGIN CATCH
-- [메시지 출력]
SET @OUT_MSG = 'N: EXCEPTION [STEP = ' + @V_STEP + '] ' + '[' + @V_DATE + ']';
PRINT '========================================='
PRINT @OUT_MSG
PRINT '========================================='
-- [리턴 메시지 컬럼 반환]
--/*
SELECT @OUT_MSG
;
-- */
-- [리턴 처리]
RETURN;
END CATCH
/**************** [프로시저 종료 처리 부분] ******************/
GO
/**************************************************************/
[결과 출력]
반응형
'MsSqlDB' 카테고리의 다른 글
54. (MSSQL/SQL) group by , select 서브쿼리 사용해 특정 부서에 포함된 직급 연봉 출력 실시 (0) | 2022.05.05 |
---|---|
53. (MSSQL/SQL) LEN , REPLACE 사용해 특정 문자 개수 확인 실시 (0) | 2022.05.03 |
51. (MSSQL/SQL) row_number()을 사용해서 소계 그룹별 순차적 순번 표시 실시 (0) | 2022.04.18 |
50. (MSSQL/SQL) Microsoft SQL Server Management Studio 사용해 외부 DB 데이터베이스 연결 및 접속 방법 (0) | 2022.04.08 |
49. (MSSQL/SQL) is null, is not null 을 사용해 널인 데이터와 널이 아닌 데이터 출력 실시 (0) | 2022.04.08 |
Comments