[sql] 스토어드 프로시저의 매개 변수와 반환 값
스토어드 프로시저를 작성할 때 매개 변수를 사용하여 데이터를 전달하고 반환 값으로 처리 결과를 받을 수 있습니다.
매개 변수
스토어드 프로시저에는 입력 매개 변수(input parameter), 출력 매개 변수(output parameter), 그리고 입력/출력 매개 변수(input/output parameter)를 정의할 수 있습니다.
- 입력 매개 변수: 스토어드 프로시저가 실행될 때 데이터를 받아들이는 매개 변수로, 값을 매개 변수에 전달하여 프로시저가 실행됩니다.
- 출력 매개 변수: 스토어드 프로시저가 실행된 후 프로시저 내에서 값을 할당하여 외부에 반환하는 매개 변수입니다.
- 입력/출력 매개 변수: 스토어드 프로시저가 실행될 때 데이터를 받아들이고, 프로시저 내에서 값을 변경한 후 외부에 반환하는 매개 변수입니다.
예를들어, 다음은 매개 변수를 사용하여 이름과 이메일 주소를 입력 받고, ID를 출력하는 스토어드 프로시저의 예시입니다.
CREATE PROCEDURE GetUserId
@Name nvarchar(50),
@Email nvarchar(100),
@UserId int OUTPUT
AS
BEGIN
-- 스토어드 프로시저 내에서 @UserId에 값을 할당하는 로직
END
매개 변수를 정의할 때 데이터 형식과 크기, 그리고 기본값 등을 지정할 수 있습니다.
반환 값
스토어드 프로시저는 반환 값으로도 처리 결과를 반환할 수 있습니다. 반환 값은 정수형태의 값을 반환하며, 0 이외의 값으로 성공 여부를 나타낼 수 있습니다.
예를들어, 다음은 반환 값으로 성공 여부를 나타내는 스토어드 프로시저의 예시입니다.
CREATE PROCEDURE InsertUser
@Name nvarchar(50),
@Email nvarchar(100)
AS
BEGIN
-- 사용자를 추가하는 로직
RETURN 1 -- 성공을 나타내는 값
END
결론
스토어드 프로시저를 사용하면 매개 변수를 통해 데이터를 주고받고, 반환 값으로 처리 결과를 받을 수 있어 효과적으로 데이터베이스를 관리할 수 있습니다.
참고 문헌:
- Microsoft Docs. “CREATE PROCEDURE (Transact-SQL)”.
https://docs.microsoft.com/en-us/sql/t-sql/statements/create-procedure-transact-sql