こんにちは、ねこです。

自称プログラマのおばちゃんのブログです。いろいろあるよねぇ~。

MCSA SQL Server 2016 /70-762/いつViewは更新されるの?

2020-01-08 01:03:45 | プログラム 勉強

【UPDATABLE VIEWの条件は?】

1. The view is defined based on one and only one table.

2. The view must include the PRIMARY KEY of the table based upon which the view has been created.

3. The view should not have any field made out of aggregate functions.

4. The view must not have any DISTINCT clause in its definition.

5. The view must not have any GROUP BY or HAVING clause in its definition.

6. The view must not have any SUBQUERIES in its definitions.

7. If the view you want to update is based upon another view, the later should be updatable.

8. Any of the selected output fields (of the view) must not use constants, strings or value expressions.

1.ビューは、ただ1つのテーブルに基づいて定義されます。

2.ビューには、ビューの作成に基づいたテーブルのプライマリキーが含まれている必要があります。

3.ビューには、集計関数で作成されたフィールドがありません。

4.ビューの定義にDISTINCT句を含めることはできません。

5.ビューには、その定義にGROUP BY句またはHAVING句を含めることはできません。

6.ビューの定義にサブクエリを含めることはできません。

7.更新するビューが別のビューに基づいている場合、そのビューは更新可能である必要があります。

8.(ビューの)選択された出力フィールドは、定数、文字列、または値式を使用しないでください。

 

なので、こんな問題

You have a view that includes an aggregate.
You must be able to change the values of columns in the view. The changes must be reflected in the tables that the view uses.
You need to ensure that you can update the view.
What should you create?

集計を含むビューがあります。
ビューの列の値を変更できる必要があります。 変更は、ビューが使用するテーブルに反映される必要があります。
ビューを更新できることを確認する必要があります。
何を作成する必要がありますか?

A. a DML trigger

B. a schema-bound view

C. a stored procedure

D. a DDL trigger

。。。なんてのがありましたら、『 includes an aggregate(集計を含む)』というので、ぴんと来てください。これは『C. a stored procedure』が答えです。

 

【参照】

The only way to make data changes on a non-updateable view is by using INSTEAD OF DML triggers. This way you can use procedural code to overcome the limitation.

更新不可能なビューでデータを変更する唯一の方法は、INSTEAD OF DMLトリガーを使用することです。 この方法で、手続き型コードを使用して制限を克服できます。

https://www.examtopics.com/exams/microsoft/70-762/view/41/


最新の画像もっと見る

コメントを投稿