スポンサーリンクスポンサーリンク無料でプログラマへ!30歳までなら無料でプログラミング学校に通うことが出来ます。下の画像をクリックして無料相談会でGO!ビューの使用ビューとは、データベースに関連付けられた名前で格納されているSQL文に過ぎません。ビューは、実際には、事前定義されたSQLクエリの形式のテーブルの構成です。ビューは、表のすべての行を含むことも、表から行を選択することもできます。作成されたSQLクエリに依存してビューを作成する1つまたは複数のテーブルからビューを作成できます。仮想テーブルの一種であるビューは、ユーザーが以下を実行できるようにします。ユーザーまたはユーザーのクラスが自然または直感的な方法でデータを構造化できるユーザーが必要とする情報を正確に表示したり変更したりすることができるように、データへのアクセスを制限する。レポートを生成するために使用できるさまざまなテーブルのデータを要約する。VIEWステートメントを使用して作成されます。ビューは、単一の表、複数の表または別のビューから作成できます。ビューを作成するには、ユーザーは特定の実装に従って適切なシステム権限を持っていなければなりません。VIEWの構文は次のとおりです。SELECTクエリで使用するのと同じ方法で、複数のテーブルをSELECTステートメントに含めることができます。以下のレコードを持つCUSTOMERSテーブルを考えてみましょう。|+----+----------+-----+-----------+----------+次に、CUSTOMERSテーブルからビューを作成する例を示します。このビューは、CUSTOMERSテーブルから顧客名と年齢を取得するために使用されます。CUSTOMERS;これで、実際の表を照会するのと同じ方法でCUSTOMERS_VIEWを照会することができます。CUSTOMERS_VIEW;これにより、次の結果が得られます。VIEWステートメント・オプションです。OPTIONの目的は、すべてのUPDATEおよびINSERTがビュー定義の条件を満たすことを保証することです。条件を満たさない場合、UPDATEまたはINSERTはエラーを返します。OPTIONを指定してCUSTOMERS_VIEWと同じビューを作成する例があります。OPTIONは、ビューがAGE列にNULL値を持たないデータによって定義されているため、ビューのAGE列にNULL値が入力された場合には拒否する必要があります。ビューの更新ビューは、以下に示す特定の条件の下で更新することができます。SELECT節にキーワードDISTINCTが含まれていない可能性があります。SELECT節にはサマリー関数を含めることはできません。SELECT句にはset関数が含まれていない可能性があります。SELECT節には集合演算子が含まれていない可能性があります。BY句を含めることはできません。FROM句には複数のテーブルを含めることはできません。WHERE句にサブクエリを含めることはできません。BYまたはHAVINGが含まれていない可能性があります。計算された列は更新されないことがあります。NULL列をすべてビューに含める必要があります。したがって、ビューが上記のすべてのルールを満たしている場合、そのビューを更新できます。次のコードブロックには、Rameshの年齢を更新する例があります。'kodak';これにより、最終的には基部テーブルCUSTOMERSが更新され、ビュー自体に反映されます。ベーステーブルをクエリしようとすると、SELECTステートメントは次の結果を生成します。|+----+----------+-----+-----------+----------+ビューに行を挿入するデータの行をビューに挿入することができます。UPDATEコマンドに適用されるのと同じ規則がINSERTコマンドにも適用されます。NULL列をすべて含めていないため、CUSTOMERS_VIEWに行を挿入することはできません。しないと、表に挿入するときと同様にビューに行を挿入できます。行をビ​​ューに削除するデータの行はビューから削除できます。UPDATEおよびINSERTコマンドに適用されるのと同じ規則がDELETEコマンドに適用されます。22のレコードを削除する例です。22;これにより、最終的には基本表CUSTOMERSから行が削除され、ビュー自体に反映されます。ベーステーブルをクエリしようとすると、SELECTステートメントは次の結果を生成します。|+----+----------+-----+-----------+----------+ビューの削除ビューが必要な場合は、ビューを削除する方法が必要です。view_name;以下は、CUSTOMERS表からCUSTOMERS_VIEWを削除する例です。ルーティングの設定をしてみよう。PINGを飛ばしてみよう。ルーティングの設定をしてみよう。PINGを飛ばしてみよう。