更新 : 2005 年 12 月 5 日
パーティション ビューが更新可能でない場合、そのパーティション ビューは元のテーブルの読み取り専用コピーとしてのみ使用できます。更新可能なパーティション ビューでは、元のテーブルのすべての機能を使用できます。
ビューが SELECT ステートメントのセットで、その個々の結果セットが UNION ALL ステートメントを使用して 1 つに結合されている場合、ビューは更新可能なパーティション ビューと見なされます。各 SELECT ステートメントは、SQL Server の 1 つのベース テーブルを参照します。このテーブルは、ローカル テーブルまたはリンク テーブルのいずれかで、4 つの部分で構成される名前、OPENROWSET 関数、または OPENDATASOURCE 関数を使用して参照できます。パススルー クエリを指定する OPENDATASOURCE 関数または OPENROWSET 関数は使用できません。
また、ビューを参照するデータ変更ステートメントは、INSERT、UPDATE、および DELETE の各ステートメントに対して定義されているルールに従う必要があります。
パーティション ビューが複数のサーバーに分散されている場合は、ベース テーブルでトリガまたは連鎖操作を使用しないでください。トリガまたは連鎖操作を実行すると、基になるデータが変更されてビュー定義に影響する可能性があります。
分散パーティション ビューを更新することができるのは、ユーザーがビューの基になる各テーブルの CONTROL 権限、ALTER 権限、TAKE OWNERSHIP 権限、または VIEW DEFINITION 権限を持っている場合だけです。詳細については、「分散パーティション ビューのメタデータ表示のトラブルシューティング」を参照してください。
メモ : |
|---|
| 分散パーティション ビューを使用してデータを変更できるのは、Microsoft SQL Server 2005 Enterprise Edition または Microsoft SQL Server 2005 Developer Edition をインストールした場合だけです。ただし、ローカル パーティション ビューを使用したデータ変更は、SQL Server 2005 のすべてのエディションで実行できます。 |
INSERT ステートメント
INSERT ステートメントでは、パーティション ビューを介してメンバ テーブルにデータが追加されます。INSERT ステートメントは、以下のルールに従って作成する必要があります。
- INSERT ステートメントには、すべての列を含める必要があります。ベース テーブル内で NULL 値を許容する列や、ベース テーブル内に DEFAULT 制約が定義されている列も例外ではありません。
- INSERT ステートメントの VALUES 句に DEFAULT キーワードを指定することはできません。
- INSERT ステートメントでは、いずれかのメンバ テーブルのパーティション分割列に定義されている CHECK 制約のロジックに応じた値を指定する必要があります。
- メンバ テーブルに ID プロパティが設定された列が含まれている場合は、INSERT ステートメントを使用できません。
- メンバ テーブルに timestamp 列が含まれている場合は、INSERT ステートメントを使用できません。
- 同一ビューまたはいずれかのメンバ テーブルとの自己結合がある場合は、INSERT ステートメントを使用できません。
UPDATE ステートメント
UPDATE ステートメントでは、パーティション ビューを介して 1 つ以上のメンバ テーブル内のデータが変更されます。UPDATE ステートメントは、以下のルールに従って作成する必要があります。
- UPDATE ステートメントで SET 句の値として DEFAULT キーワードを指定することはできません。対応するメンバ テーブルでその列に DEFAULT 値が定義されている場合も例外ではありません。
- ID プロパティが設定されている列の値を変更できません。ただし、他の列は更新できます。
- PRIMARY KEY の値は、列に text データ、image データ、または ntext データが含まれている場合は変更できません。
- ベース テーブルに timestamp 列が含まれている場合は、更新できません。
- 同一ビューまたはいずれかのメンバ テーブルとの自己結合がある場合は、更新できません。
DELETE ステートメント
DELETE ステートメントでは、パーティション ビューを介して 1 つ以上のメンバ テーブル内のデータが削除されます。同一ビューまたはいずれかのメンバ テーブルとの自己結合がある場合は、DELETE ステートメントを使用できません。
参照
概念
ヘルプおよび情報
変更履歴
| リリース | 履歴 |
|---|---|
2005 年 12 月 5 日 |
|
メモ :