프로시저를 생성하고, 호출하는 법을 알아보자.
CREATE PROCEDURE 프로시저 이름
AS
BEGIN
~~
END
프로시저를 생성할 때 기본적으로 사용되는 문법이다. create procedure 로 우선 프로시저 이름을 정하고, AS BEGIN (원하는 query 작성) END 으로 작업하고 싶은 내용을 query로 나타내면 된다.
또한, procedure 내부에서 변수 또한 설정이 가능하다.
CREATE PROCEDURE 프로시저 이름
@StartDate NCHAR(8)
@EndDate NCHAR(8)
AS
BEGIN
~~
END
이런식으로 AS 이전 절에 @변수명 변수타입 을 통해 변수를 지정하고, 작업 진행 시 변수를 query에 넣어 사용이 가능하다.
간단한 예시 프로시저를 만들어보자.
CREATE PROCEDURE GetAll
@StartDate NCHAR(8)
@EndDate NCHAR(8)
AS
BEGIN
SELECT *
FROM Test-Table
WHERE DATE BETWEEN @StartDate AND @EndDate
END
날짜 사이의 데이터를 추출하는 프로시저를 만들었다. 해당 프로시저를 생성한 뒤에는 EXEC 이라는 명령을 통해 프로시저를 호출해야한다.
EXEC GetAll @StartDate = '20240101' , @EndDate = '20241010'
프로시저에 변수가 없을 때는 EXEC 프로시저명으로 끝내도 되지만, 변수가 있을 경우 해당 변수에 어떤 값을 넣을지 값을 할당해줘야한다.