뷰 수정

뷰를 정의한 후 SQL Server Management Studio 또는 Transact-SQL을 사용하여 해당 뷰를 삭제하고 다시 만들지 않고 SQL Server 2012에서 해당 정의를 수정할 수 있습니다.

항목 내용

  • 시작하기 전 주의 사항

    제한 사항

    보안

  • 뷰를 수정하려면:

    SQL Server Management Studio

    Transact-SQL

시작하기 전 주의 사항

제한 사항

  • 종속 개체를 무효화하는 방식으로 뷰 정의를 변경하지 않는 한 뷰를 수정해도 저장 프로시저나 트리거 등의 종속 개체에는 영향을 주지 않습니다.

  • 현재 사용 중인 뷰를 ALTER VIEW를 사용하여 수정하면 데이터베이스 엔진은 해당 뷰에 대한 배타적 스키마 잠금을 얻습니다. 잠금이 부여되고 현재 뷰를 사용 중인 사용자가 없으면 데이터베이스 엔진은 프로시저 캐시에서 뷰의 복사본을 모두 삭제합니다. 해당 뷰를 참조하는 기존 계획은 캐시에 남아 있지만 다음 호출 시 다시 컴파일됩니다.

  • 인덱싱된 뷰에도 ALTER VIEW를 적용할 수 있지만 ALTER VIEW는 뷰에 대한 모든 인덱스를 무조건 삭제합니다.

보안

사용 권한

ALTER VIEW를 실행하려면 최소 OBJECT에 대한 ALTER 권한이 필요합니다.

맨 위로 이동 링크와 함께 사용되는 화살표 아이콘[Top]

SQL Server Management Studio 사용

뷰를 수정하려면

  1. 개체 탐색기에서 뷰가 있는 데이터베이스 옆의 더하기 기호를 클릭한 다음 폴더 옆의 더하기 기호를 클릭합니다.

  2. 수정할 뷰를 마우스 오른쪽 단추로 클릭하고 디자인을 클릭합니다.

  3. 쿼리 디자이너의 다이어그램 창에서 다음과 같은 방법으로 뷰를 변경합니다.

    1. 추가하거나 제거할 요소의 확인란을 선택하거나 선택을 취소합니다.

    2. 다이어그램 창 내부를 마우스 오른쪽 단추로 클릭하고 **테이블 추가...**를 선택한 다음 테이블 추가 대화 상자에서 뷰에 추가할 열을 선택합니다.

    3. 제거할 테이블의 제목 표시줄을 마우스 오른쪽 단추로 클릭하고 제거를 선택합니다.

  4. 파일 메뉴에서 view name 저장을 클릭합니다.

맨 위로 이동 링크와 함께 사용되는 화살표 아이콘[Top]

Transact-SQL 사용

뷰를 수정하려면

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

  2. 표준 도구 모음에서 새 쿼리를 클릭합니다.

  3. 다음 예를 복사하여 쿼리 창에 붙여 넣고 실행을 클릭합니다. 다음 예에서는 먼저 뷰를 만든 다음 ALTER VIEW를 사용하여 이 뷰를 수정합니다. WHERE 절이 뷰 정의에 추가됩니다.

    USE AdventureWorks2012 ;
    GO
    -- Create a view.
    CREATE VIEW HumanResources.EmployeeHireDate
    AS
    SELECT p.FirstName, p.LastName, e.HireDate
    FROM HumanResources.Employee AS e JOIN Person.Person AS  p
    ON e.BusinessEntityID = p.BusinessEntityID ; 
    
    -- Modify the view by adding a WHERE clause to limit the rows returned.
    ALTER VIEW HumanResources.EmployeeHireDate
    AS
    SELECT p.FirstName, p.LastName, e.HireDate
    FROM HumanResources.Employee AS e JOIN Person.Person AS  p
    ON e.BusinessEntityID = p.BusinessEntityID
    WHERE HireDate < CONVERT(DATETIME,'20020101',101) ; 
    GO
    

자세한 내용은 ALTER VIEW(Transact-SQL)를 참조하십시오.

맨 위로 이동 링크와 함께 사용되는 화살표 아이콘[Top]