IT/MSSQL

MSSQL 프로시저 PROCEDURE 서식 및 생성 예제

!? 2024. 2. 19.

 

프로시저(Procedure)는 MSSQL에서 저장 프로시저(Stored Procedure)라고도 불리는 데이터베이스 객체입니다. 프로시저는 하나 이상의 SQL 문을 그룹화하여 실행할 수 있는 이름이 있는 블록입니다. 프로시저는 일련의 작업을 수행하고, 매개 변수를 사용하여 데이터를 전달하고 반환할 수 있습니다.

 

프로시저 PROCEDURE 생성방법

 

MSSQL에서 프로시저를 생성하는 방법은 다음과 같습니다:

1 . 프로시저 생성을 위해 CREATE PROCEDURE 문을 사용합니다.
2. 프로시저의 이름을 지정하고, 필요에 따라 매개 변수를 정의합니다.
3. AS 키워드를 사용하여 프로시저의 본문을 작성합니다.
4. BEGIN과 END 사이에 프로시저의 본문을 작성합니다.
5. 프로시저 내에서 필요한 작업을 수행하고, 결과를 반환하거나 특정 동작을 수행합니다.

 

 

 

 

프로시저 PROCEDURE 생성 서식

 

CREATE PROCEDURE [스키마이름.]프로시저이름
    @매개변수1 데이터타입,
    @매개변수2 데이터타입,
    ...
AS
BEGIN
    -- 프로시저 내용 작성
    -- SQL 문과 프로그래밍 언어 조합하여 작업 수행

    -- 필요한 경우 결과 반환
    -- RETURN 문 사용 가능
END

 

여기서 각 부분의 역할을 설명하겠습니다.

 

  • [스키마이름.]프로시저이름: 프로시저의 이름을 지정합니다. 스키마 이름은 선택적이며, 프로시저가 속할 스키마를 명시할 수 있습니다.
  • @매개변수1 데이터타입, @매개변수2 데이터타입, ...: 필요한 경우 프로시저에 매개변수를 정의합니다. 매개변수는 데이터 타입과 함께 선언되어야 합니다. 필요한 매개변수의 수와 타입을 정의하고 쉼표로 구분합니다.
  • AS: 프로시저의 본문을 시작하는 키워드입니다.
  • BEGIN ~ END: 프로시저의 본문을 감싸는 블록입니다. 프로시저의 로직이 이 부분에 작성됩니다.
  • -- 프로시저 내용 작성: 프로시저 내부에서 사용되는 주석입니다. 필요한 경우 프로시저의 내용을 설명하는 주석을 추가할 수 있습니다.
  • RETURN: 필요한 경우 프로시저에서 결과를 반환하는 키워드입니다. 반환할 값이 있는 경우 RETURN 문을 사용하여 반환합니다. 

 

 

프로시저 PROCEDURE 생성 예제

 

예를 들어, usp_GetCustomerOrders라는 이름의 프로시저를 생성하고 매개변수로 @CustomerID를 받는다는 프로시저를 생성해본다.

 

CREATE PROCEDURE usp_GetCustomerOrders
    @CustomerID INT
AS
BEGIN
    -- 프로시저 내용 작성
    -- 주문 내역을 조회하는 SQL 문
    SELECT OrderID, OrderDate, TotalAmount
    FROM Orders
    WHERE CustomerID = @CustomerID
    ORDER BY OrderDate DESC

    -- 필요한 경우 추가 작업 수행

    -- 결과 반환 (예: RETURN 0)
END

 

위의 예제에서는 usp_GetCustomerOrders라는 프로시저를 생성하고 @CustomerID라는 INT형 매개변수를 받습니다. 프로시저의 본문에서는 주문 내역을 조회하는 SQL 문을 실행합니다. 이후 추가적인 작업을 수행하고 필요한 경우 결과를 반환할 수 있습니다.

 

 

프로시저 PROCEDURE  사용 예제

 

프로시저를 생성한 후에는 EXEC 문을 사용하여 프로시저를 실행할 수 있습니다.

 

EXEC [스키마].[프로시저명] @매개변수1 = 값1, @매개변수2 = 값2, ...


-- 위의 프로시저 실행
EXEC dbo.usp_GetCustomerOrders @CustomerID = 10

 

위의 예제에서는 'usp_GetCustomerOrders'  프로시저를 호출하여 @CustomerID 값을 전달하고, 주문 내역을 조회하여  출력합니다.

 


Stored Procedure를 생성할 때는 프로시저의 목적과 요구사항에 맞게 서식을 조정하고, 필요한 로직과 SQL 문을 작성하여 원하는 작업을 수행할 수 있습니다.

 

 

댓글