ビューの変更
SQL Server 2012 では、ビューの定義後にビューの削除や再作成を行わずに、SQL Server Management Studio または Transact-SQL を使用して、ビューの名前または定義を変更できます。
このトピックの内容
作業を開始する準備:
制限事項と制約事項
セキュリティ
以下を使用してビューを変更するには:
SQL Server Management Studio
Transact-SQL
作業を開始する準備
制限事項と制約事項
依存オブジェクトが無効になるような変更を行わない限り、ビューを変更しても、ストアド プロシージャやトリガーなどの依存オブジェクトには影響しません。
現在使用されているビューを ALTER VIEW を使用して変更する場合、データベース エンジンはビューに対して排他スキーマ ロックを設定します。 ロックが許可され、ビューのアクティブ ユーザーがいなくなると、データベース エンジンはプロシージャ キャッシュからビューのすべてのコピーを削除します。 ビューを参照している既存のプランはキャッシュに残りますが、呼び出されると再コンパイルされます。
ALTER VIEW は、インデックス付きビューに適用できますが、そのビューのすべてのインデックスを無条件で削除します。
セキュリティ
権限
ALTER VIEW を実行するには、少なくとも OBJECT に対する ALTER 権限が必要です。
[Top]
SQL Server Management Studio の使用
ビューを変更するには
オブジェクト エクスプローラーで、ビューがあるデータベースの横にあるプラス記号をクリックし、[ビュー] フォルダーの横にあるプラス記号をクリックします。
変更するビューを右クリックし、[デザイン] を選択します。
クエリ デザイナーのダイアグラム ペインで、次の方法を使用してビューを変更します。
追加または削除する要素のチェック ボックスをオンまたはオフにします。
ダイアグラム ペイン内で右クリックし、[テーブルの追加] を選択します。次に、[テーブルの追加] ダイアログ ボックスで、ビューに追加する列を選択します。
削除するテーブルのタイトル バーを右クリックし、[削除] を選択します。
[ファイル] メニューの [view name の保存] をクリックします。
[Top]
Transact-SQL の使用
ビューを変更するには
オブジェクト エクスプローラーで、データベース エンジンのインスタンスに接続します。
[標準] ツール バーの [新しいクエリ] をクリックします。
次の例をコピーしてクエリ ウィンドウに貼り付け、[実行] をクリックします。 この例では、ビューを作成した後、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]