3つのテーブルのグループに対してカスタムビューを作成しました。テーブルのようにビューを使用するアプリケーションで編集できるように、ビューを構成するにはどうすればよいですか?SQL ServerStudioExpressを使用しています。
2 に答える
5
SQL Serverのビューは更新可能ですが、制限があります(CREATE VIEW、Updatable Viewセクション):
- UPDATE、INSERT、およびDELETEステートメントを含むすべての変更は、1つのベーステーブルからの列のみを参照する必要があります。
- ビューで変更される列は、テーブル列の基になるデータを直接参照する必要があります。次のような他の方法で列を導出することはできません。
- 集計関数:AVG、COUNT、SUM、MIN、MAX、GROUPING、STDEV、STDEVP、VAR、およびVARP。
- 計算。他の列を使用する式から列を計算することはできません。集合演算子UNION、UNION ALL、CROSSJOIN、EXCEPT、およびINTERSECTを使用して形成された列は、計算になり、更新もできません。
- 変更される列は、GROUP BY、HAVING、またはDISTINCT句の影響を受けません。
- TOPは、WITHCHECKOPTION句とともにビューのselect_statementのどこにも使用されません。
それ以外の場合は、INSTEADOFトリガーを使用する必要があります。
于 2010-06-22T00:44:43.103 に答える
2
ビューにINSTEADOFINSERTトリガーとINSTEADOFUPDATEトリガーを作成してから、トリガー内に挿入ステートメントと更新ステートメントを記述して、基になる3つのテーブルのデータを操作する必要があります。簡単な例があるこのMSDNの記事を参照してください。トリガー定義のコンテキスト内の特別なINSERTEDテーブルで、必要な編集値を見つけることができます。
于 2010-06-22T00:41:53.520 に答える