ビューの定義と名前の変更
ビューの定義後、ビューの削除や再作成を行わずに、ビューの名前または定義を変更できます。ビューの削除や再作成を行うと、そのビューに関連付けられている権限が失われます。ビュー名を変更するときには、次のことを考慮してください。
- 名前を変更するビューは現在のデータベースにあることが必要です。
- 新しい名前は識別子のルールに従う必要があります。
- 名前を変更できるのは、変更する権限を持っているビューのみです。
- データベースの所有者は、どのユーザーのビューの名前でも変更できます。
依存オブジェクトが無効になるような変更を行わない限り、ビューを変更しても、ストアド プロシージャやトリガなどの依存オブジェクトには影響しません。たとえば、AdventureWorks
データベースの employees_view
というビューが次のように定義されているとします。
CREATE VIEW employees_view
AS
SELECT EmployeeID FROM HumanResources.Employee
また、employees_proc
というストアド プロシージャが次のように定義されているとします。
CREATE PROC employees_proc
AS
SELECT EmployeeID from employees_view
EmployeeID
列ではなく LastName
列を取得するように、employees_view
を変更します。
ALTER VIEW employees_view
AS
SELECT LastName FROM Person.Contact c
JOIN HumanResources.Employee e ON c.ContactID = e.ContactID
EmployeeID
列がビューに存在しなくなったので、employees_proc
を実行すると失敗します。
また、ビューを変更して、ビューの定義を暗号化したり、ビューに対して実行されるデータ変更ステートメントがビューを定義している SELECT ステートメント内で設定されている条件に従うようにすることができます。詳細については、「ビューの設計と実装」を参照してください。
ビューを変更するには
ビューの名前を変更するには
メモ : |
---|
ビュー名を変更しても、ビュー定義のテキスト内のビュー名は変更されません。定義内のビュー名を変更するには、ビューを直接変更します。 |