sql - update - ビューを更新すると、元のテーブルが更新されます。



sqlserver sql-server (2)

Microsoft SQL Serverでのビューの使用を参照してください。

ビューを介してデータを変更する場合(つまり、INSERT文またはUPDATE文を使用する場合)、ビューのタイプに応じていくつかの制限があります。 複数のテーブルにアクセスするビューでは、ビュー内のいずれかのテーブルのみを変更できます。 関数を使用するビュー、DISTINCTを指定するビュー、またはGROUP BY句を使用するビューは更新されません。 さらに、次のタイプのビューではデータの挿入が禁止されています。

* views having columns with derived (i.e., computed) data in the SELECT-list  
* views that do not contain all columns defined as NOT NULL from the tables from which they were defined

WITH CHECK OPTIONが指定されていない限り、そのビューを介してデータにアクセスできなくなるように、ビューを通してデータを挿入または更新することもできます。

https://src-bin.com

私は仮に2つのテーブルEmployee and Locationsを持っています。 私はEmployeeとLocationsに参加してviewEmpLocationビューを持っています。

ビューを更新すると、元のテーブルのデータは更新されますか?


Answer #1

はい。

ビュー内のデータには、ビューを構成するテーブルとは独立した存在がありません。 このビューは、本質的に、テーブルとして偽装されたストアドSELECTステートメントです。 データは元のテーブルに保存され、見たいときはビューに組み立てられます。 ビューが更新可能(すべてのビューではない)の場合、更新はテーブルデータに適用されます。





views