Share via


뷰 및 저장 프로시저 만들기

새 설치: 2006년 4월 14일

이제 Mary는 TestData 데이터베이스에 액세스할 수 있으므로 뷰 및 저장 프로시저와 같은 일부 데이터베이스 개체를 만든 다음 이러한 개체에 대한 액세스 권한을 Mary에게 부여할 수 있습니다. 뷰는 저장된 SELECT 문이며 저장 프로시저는 일괄 처리로 실행되는 하나 이상의 Transact-SQL 문입니다.

뷰는 테이블처럼 쿼리되며 매개 변수를 허용하지 않습니다. 저장 프로시저는 뷰보다 복잡합니다. 저장 프로시저는 입력 및 출력 매개 변수를 가질 수 있으며 코드 흐름을 제어하기 위해 IF 및 WHILE 문과 같은 문을 포함할 수 있습니다. 데이터베이스의 모든 반복되는 작업에 저장 프로시저를 사용하는 것이 바람직한 프로그래밍 방식입니다.

예를 들어 CREATE VIEW를 사용하여 Products 테이블에 있는 두 개의 열만 선택하는 뷰를 만듭니다. 그런 다음 CREATE PROCEDURE를 사용하여 가격 매개 변수를 허용하고 지정된 매개 변수 값보다 가격이 낮은 제품만 반환하는 저장 프로시저를 만듭니다.

뷰를 만들려면

  1. 다음 문을 실행하여 select 문을 실행하고 제품의 이름과 가격을 사용자에게 반환하는 매우 간단한 뷰를 만듭니다.

    CREATE VIEW vw_Names
       AS
       SELECT ProductName, Price FROM Products;
    GO
    

뷰 테스트

  1. 뷰는 테이블처럼 처리됩니다. SELECT 문을 사용하여 뷰에 액세스할 수 있습니다.

    SELECT * FROM vw_Names;
    GO
    

저장 프로시저를 만들려면

  1. 다음 문은 저장 프로시저 이름인 pr_Names를 만들고 money 데이터 형식의 @VarPrice라는 입력 매개 변수를 허용합니다. 이 저장 프로시저는 money 데이터 형식에서 varchar(10) 문자 데이터 형식으로 변경되는 입력 매개 변수와 연결된 Products less than 문을 인쇄합니다. 그런 다음 이 저장 프로시저는 입력 매개 변수를 WHERE 절의 일부로 전달하며 뷰에서 SELECT 문을 실행합니다. 이렇게 하면 입력 매개 변수 값보다 가격이 낮은 모든 제품이 반환됩니다.

    CREATE PROCEDURE pr_Names @VarPrice money
       AS
       BEGIN
          -- The print statement returns text to the user
          PRINT 'Products less than ' + CAST(@VarPrice AS varchar(10));
          -- A second statement starts here
          SELECT ProductName, Price FROM vw_Names
                WHERE Price < @varPrice;
       END
    GO
    

저장 프로시저 테스트

  1. 저장 프로시저를 테스트하려면 다음 문을 입력하고 실행합니다. 이 프로시저는 1단원에서 가격이 10.00보다 낮은 Products 테이블에 입력한 제품 두 개의 이름을 반환해야 합니다.

    EXECUTE pr_Names 10.00;
    GO
    

단원의 다음 작업

데이터베이스 개체에 대한 액세스 권한 부여

참고 항목

관련 자료

CREATE VIEW(Transact-SQL)
CREATE PROCEDURE(Transact-SQL)
흐름 제어
절차적 Transact-SQL

도움말 및 정보

SQL Server 2005 지원 받기