본문 바로가기
DataBase/MsSql

MSSQL 저장 프로시저 매개변수(Parameter) 사용법

by 아우럼 2024. 5. 22.
반응형

MSSQL 저장 프로시저는 매개변수(Parameter)를 입력받을 수도 있고, OUTPUT 매개변수(Parameter)를 통해서 값을 return 할 수 있습니다.

저장 프로시저 매개변수(Parameter)의 특징.

입력 매개변수(Parameter) 특징.

  • 실행 시 입력한 값을 저장 프로시저 내부에서 사용할 수 있게 해주는 매개변수입니다.
  • 선언 시 파라미터에 디폴트 값을 설정할 수도 있습니다.
  • IN, OUT 생략 시 입력 매개변수로 인식합니다.
  • 매개변수 명 뒤에는 타입을 선언해 줘야 합니다.

출력 매개변수(Parameter) 특징.

  • 출력 매개변수는 저장 프로시저 내에서 실행된 return 값을 출력하기 위해 사용합니다.
  • 저장 프로시저 매개변수 선언 시 OUTPUT 키워드로 명시해 줘야 합니다. 기본값은 input입니다.

저장 프로시저의 매개변수(Parameter) 사용법.

입력 매개변수(Parameter) 예제입니다.

  • 저장 프로시저의 매개변수(Parameter) 선언하고 프로시저를 실행합니다.
--입력 매개변수(Parameter) 예제입니다.  
-- DROP PROCEDURE [STORE_PROCEDURE_IN_PARAMETER];
CREATE  PROCEDURE [DBO].[STORE_PROCEDURE_IN_PARAMETER]        
	@UserAge INT ,
	@UserName VARCHAR(100) = 'Lee' 
AS
BEGIN
    -- 매개변수(Parameter) 출력.
    SELECT @UserAge, @UserName;
END;


-- EXCUTE EX1
EXEC STORE_PROCEDURE_IN_PARAMETER  @UserAge = 2;
-- EXCUTE EX2
EXEC STORE_PROCEDURE_IN_PARAMETER @UserAge =  2, @UserName=  'john';

출력 매개변수(Parameter) 예제입니다.

  • 저장 프로시저의 output 매개변수(Parameter) 선언하고 값을 return 합니다.
-- 출력 매개변수(Parameter) 예제입니다.
-- DROP PROCEDURE DBO.STORE_PROCEDURE_OUTPUT_PARAMETER; 
CREATE  PROCEDURE [DBO].[STORE_PROCEDURE_OUTPUT_PARAMETER]        
   @UserAge INT,
   @UserName   VARCHAR(100) = 'Lee' ,
   @UserString VARCHAR(200)  OUTPUT
AS
BEGIN
  -- 매개변수(Parameter) 출력.	 
  SET  @UserString  = @UserName + '의 나이는 ' + CONVERT(varchar(10), @UserAge)  +  ' 살 입니다.' ; 
END;

-- EXCUTE  
DECLARE  @outPutString  VARCHAR(200);
EXEC STORE_PROCEDURE_OUTPUT_PARAMETER  @UserAge = 2 ,  @UserString = @outPutString OUTPUT; 
SELECT @outPutString as 'outPutExample';

저장프로시저 OutPut 매개변수 흐름도.
저장프로시저 OutPut 매개변수 흐름도.

저장 프로시저 매개변수(Parameter) 마치며.

저장 프로시저 매개변수(Parameter) 없을 때 실행.

  • 저장 프로시저는 매개변수(Parameter)가 없어도 사용할 수 있습니다.
  • 예를 들면 A 테이블 하고 B 테이블의 연산을 C 테이블에 insert 한다고 가정을 하고,
  • 업무상 매개변수(Parameter)를 입력받을 필요가 없으며 저장 프로시저만 실행하면 됩니다.

반응형