반응형
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';
저장 프로시저 매개변수(Parameter) 마치며.
저장 프로시저 매개변수(Parameter) 없을 때 실행.
- 저장 프로시저는 매개변수(Parameter)가 없어도 사용할 수 있습니다.
- 예를 들면 A 테이블 하고 B 테이블의 연산을 C 테이블에 insert 한다고 가정을 하고,
- 업무상 매개변수(Parameter)를 입력받을 필요가 없으며 저장 프로시저만 실행하면 됩니다.
반응형