Share via


ビューの変更

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 の使用

ビューを変更するには

  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]