뷰 수정 및 이름 바꾸기
뷰가 정의된 후 해당 뷰를 삭제하고 다시 만들지 않고 뷰 이름을 바꾸거나 정의를 수정할 수 있습니다. 뷰를 삭제하고 다시 만들면 해당 뷰와 관련된 사용 권한이 손실됩니다. 뷰 이름을 바꿀 때는 다음 지침을 고려하십시오.
현재 데이터베이스에 있는 뷰의 이름만 바꿀 수 있습니다.
새 이름은 식별자 규칙을 따라야 합니다.
변경할 수 있는 권한이 있는 뷰의 이름만 바꿀 수 있습니다.
데이터베이스 소유자는 모든 사용자의 뷰 이름을 변경할 수 있습니다.
종속 개체를 무효화하는 방식으로 뷰 정의를 변경하지 않는 한 뷰를 수정해도 저장 프로시저나 트리거 등의 종속 개체에는 영향을 주지 않습니다. 예를 들어 AdventureWorks2008R2 데이터베이스의 뷰 employees_view를 다음과 같이 정의합니다.
CREATE VIEW dbo.employees_view
AS
SELECT BusinessEntityID FROM HumanResources.Employee;
저장 프로시저 employees_proc는 다음과 같이 정의합니다.
CREATE PROC dbo.employees_proc
AS
SELECT EmployeeID from employees_view;
BusinessEntityID 대신 LastName 열을 검색하도록 employees_view를 수정합니다.
ALTER VIEW dbo.employees_view
AS
SELECT LastName FROM Person.Person AS p
JOIN HumanResources.Employee AS e
ON p.BusinessEntityID = e.BusinessEntityID;
BusinessEntityID 열이 뷰에 더 이상 존재하지 않기 때문에 employees_proc이 실패하게 됩니다.
뷰를 수정하여 뷰 정의를 암호화하거나 뷰에 대해 실행되는 모든 데이터 수정 문이 뷰를 정의하는 SELECT 문 내에 설정된 조건을 따르도록 할 수 있습니다. 자세한 내용은 뷰 디자인 및 구현을 참조하십시오.
뷰를 수정하려면
뷰의 이름을 바꾸려면
[!참고]
뷰 이름을 바꿔도 뷰 정의 텍스트의 뷰 이름은 변경되지 않습니다. 뷰 정의의 뷰 이름을 변경하려면 뷰를 직접 수정하십시오.