저장 프로시저 만들기

이 항목에서는 SQL Server Management Studio 및 Transact-SQL CREATE PROCEDURE 문을 사용하여 Transact-SQL 저장 프로시저를 만드는 방법에 대해 설명합니다.

  • 시작하기 전에: 사용 권한

  • 저장 프로시저를 만들려면 SQL Server Management Studio, Transact-SQL을 사용합니다.

사용 권한

데이터베이스의 CREATE PROCEDURE 권한과 프로시저를 만들 스키마에 대한 ALTER 권한이 필요합니다.

저장 프로시저를 만드는 방법

다음 중 하나를 사용할 수 있습니다.

  • SQL Server Management Studio

  • Transact-SQL

SQL Server Management Studio 사용

개체 탐색기에서 프로시저를 만들려면

  1. 개체 탐색기에서 데이터베이스 엔진의 인스턴스에 연결한 다음 해당 인스턴스를 확장합니다.

  2. 데이터베이스를 확장하고 AdventureWorks2012 데이터베이스를 확장한 다음 프로그래밍 기능을 확장합니다.

  3. 저장 프로시저를 마우스 오른쪽 단추로 클릭한 다음 새 저장 프로시저를 클릭합니다.

  4. 쿼리 메뉴에서 템플릿 매개 변수 값 지정을 클릭합니다.

  5. 템플릿 매개 변수 값 지정 대화 상자에 표시된 매개 변수에 대해 다음 값을 입력합니다.

    매개 변수

    Author

    Your name

    Create Date

    Today's date

    설명

    Returns employee data

    Procedure_name

    HumanResources.uspGetEmployeesTest

    @Param1

    @LastName

    @Datatype_For_Param1

    nvarchar(50)

    Default_Value_For_Param1

    NULL

    @Param2

    @FirstName

    @Datatype_For_Param2

    nvarchar(50)

    Default_Value_For_Param2

    NULL

  6. 확인을 클릭합니다.

  7. 쿼리 편집기에서 SELECT 문을 다음 문으로 바꿉니다.

    SELECT FirstName, LastName, Department
    FROM HumanResources.vEmployeeDepartmentHistory
    WHERE FirstName = @FirstName AND LastName = @LastName
        AND EndDate IS NULL;
    
  8. 구문을 테스트하려면 쿼리 메뉴에서 구문 분석을 클릭합니다. 오류 메시지가 반환되면 필요에 따라 위의 정보와 문을 비교하여 수정합니다.

  9. 프로시저를 만들려면 쿼리 메뉴에서 실행을 클릭합니다. 프로시저가 데이터베이스 개체로 만들어집니다.

  10. 개체 탐색기에 나열된 프로시저를 보려면 저장 프로시저를 마우스 오른쪽 단추로 클릭하고 새로 고침을 선택합니다.

  11. 프로시저를 실행하려면 개체 탐색기에서 저장 프로시저 이름 HumanResources.uspGetEmployeesTest를 마우스 오른쪽 단추로 클릭하고 저장 프로시저 실행을 선택합니다.

  12. 프로시저 실행 창에서 Margheim을 매개 변수 @LastName의 값으로 입력하고 Diane을 매개 변수 @FirstName의 값으로 입력합니다.

주의 사항주의

모든 사용자 입력에 대해 유효성을 검사합니다. 유효성 검사를 수행하기 전에는 사용자 입력을 연결하지 마십시오. 유효성 검사가 수행되지 않은 사용자 입력으로부터 생성된 명령은 실행하지 마십시오.

[맨 위]

Transact-SQL 사용

쿼리 편집기에서 프로시저를 만들려면

  1. 개체 탐색기에서 데이터베이스 엔진 인스턴스에 연결합니다.

  2. 메뉴에서 파일 메뉴에서 새 쿼리를 클릭합니다.

  3. 다음 예를 복사하여 쿼리 창에 붙여 넣고 실행을 클릭합니다. 이 예에서는 다른 프로시저 이름을 사용하여 위와 같은 저장 프로시저를 만듭니다.

    USE AdventureWorks2012;
    GO
    CREATE PROCEDURE HumanResources.uspGetEmployeesTest2 
        @LastName nvarchar(50), 
        @FirstName nvarchar(50) 
    AS 
    
        SET NOCOUNT ON;
        SELECT FirstName, LastName, Department
        FROM HumanResources.vEmployeeDepartmentHistory
        WHERE FirstName = @FirstName AND LastName = @LastName
        AND EndDate IS NULL;
    GO
    
  4. 프로시저를 실행하려면 다음 예제를 새 쿼리 창에 복사하여 붙여 넣고 실행을 클릭합니다. 매개 변수 값을 지정하는 다른 메서드가 표시됩니다.

    EXECUTE HumanResources.uspGetEmployeesTest2 N'Ackerman', N'Pilar';
    -- Or
    EXEC HumanResources.uspGetEmployeesTest2 @LastName = N'Ackerman', @FirstName = N'Pilar';
    GO
    -- Or
    EXECUTE HumanResources.uspGetEmployeesTest2 @FirstName = N'Pilar', @LastName = N'Ackerman';
    GO
    

[맨 위]

참고 항목

참조

CREATE PROCEDURE(Transact-SQL)