ビューを使用したデータ変更

SQL Server 2012 では、SQL Server Management Studio または Transact-SQL を使用して、基になるデータベース テーブルのデータを変更できます。

このトピックの内容

  • 作業を開始する準備:

    制限事項と制約事項

    セキュリティ

  • 以下を使用してビューを介してテーブル データを変更するには:

    SQL Server Management Studio

    Transact-SQL

作業を開始する準備

制限事項と制約事項

セキュリティ

権限

実行する操作に応じて、対象のテーブルに対する UPDATE 権限、INSERT 権限、または DELETE 権限が必要です。

[トップに戻る] リンクで使用される矢印アイコン[Top]

SQL Server Management Studio の使用

ビューを介してテーブル データを変更するには

  1. オブジェクト エクスプローラーで、ビューを含むデータベースを展開し、[ビュー] を展開します。

  2. ビューを右クリックし、[上位 200 行の編集] を選択します。

  3. 場合により、変更対象の行を取得するために SQL ペインの SELECT ステートメントを変更する必要があります。

  4. 結果ペインで、変更または削除する行を見つけます。 行を削除するには、行を右クリックし、[削除] を選択します。 1 つ以上の列のデータを変更するには、目的の列のデータを変更します。

    重要な注意事項重要

    ビューが複数のベース テーブルを参照している場合は、行を削除できません。 1 つのベース テーブルに属している列のみを更新することができます。

  5. 行を挿入するには、行の最後までスクロールし、新しい値を挿入します。

    重要な注意事項重要

    ビューが複数のベース テーブルを参照している場合は、行を挿入できません。

[トップに戻る] リンクで使用される矢印アイコン[Top]

Transact-SQL の使用

ビューを介してテーブル データを更新するには

  1. オブジェクト エクスプローラーで、データベース エンジンのインスタンスに接続します。

  2. [標準] ツール バーの [新しいクエリ] をクリックします。

  3. 次の例をコピーしてクエリ ウィンドウに貼り付け、[実行] をクリックします。 この例では、ビュー HumanResources.vEmployeeDepartmentHistory の列を参照することによって特定の従業員の StartDate 列および EndDate 列の値を変更します。 このビューは、2 つのテーブルの値を返します。 変更対象の列の所属先は 1 つのベース テーブルであるため、このステートメントは成功します。

    USE AdventureWorks2012 ; 
    GO
    UPDATE HumanResources.vEmployeeDepartmentHistory
    SET StartDate = '20110203', EndDate = GETDATE() 
    WHERE LastName = N'Smith' AND FirstName = 'Samantha'; 
    GO
    

詳細については、「UPDATE (Transact-SQL)」を参照してください。

ビューを介してテーブル データを挿入するには

  1. オブジェクト エクスプローラーで、データベース エンジンのインスタンスに接続します。

  2. [標準] ツール バーの [新しいクエリ] をクリックします。

  3. 次の例をコピーしてクエリ ウィンドウに貼り付け、[実行] をクリックします。 この例では、ビュー HumanResources.vEmployeeDepartmentHistory の該当する列を指定することによって、新しい行をベース テーブル HumanResouces.Department に挿入します。 1 つのベース テーブルの列のみが指定され、ベース テーブルの他の列は既定値を持つため、このステートメントは成功します。

    USE AdventureWorks2012 ;
    GO
    INSERT INTO HumanResources.vEmployeeDepartmentHistory (Department, GroupName) 
    VALUES ('MyDepartment', 'MyGroup'); 
    GO
    

詳細については、「INSERT (Transact-SQL)」を参照してください。

[トップに戻る] リンクで使用される矢印アイコン[Top]