ビューの定義と名前の変更
ビューの定義後、ビューの削除や再作成を行わずに、ビューの名前または定義を変更できます。ビューの削除や再作成を行うと、そのビューに関連付けられている権限が失われます。ビュー名を変更するときには、次のことを考慮してください。
名前を変更するビューは現在のデータベースにあることが必要です。
新しい名前は識別子のルールに従う必要があります。
名前を変更できるのは、変更する権限を持っているビューのみです。
データベースの所有者は、どのユーザーのビューの名前でも変更できます。
依存オブジェクトが無効になるような変更を行わない限り、ビューを変更しても、ストアド プロシージャやトリガーなどの依存オブジェクトには影響しません。たとえば、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 ステートメント内で設定されている条件に従うようにすることができます。詳細については、「ビューの設計と実装」を参照してください。
ビューを変更するには
ビューの名前を変更するには
注 |
|---|
ビュー名を変更しても、ビュー定義のテキスト内のビュー名は変更されません。定義内のビュー名を変更するには、ビューを直接変更します。 |
注