Oracle データベースのビューは仮想テーブルであり、1 つ以上の基本テーブルのクエリ結果で構成されます。ビューによりクエリ ステートメントが簡素化され、ユーザーはデータの特定の列と行のみを表示できるようになります。ただし、実際のアプリケーションでは、特定のニーズに合わせてビューを変更する必要があります。この記事では、Oracle データベースのビューを変更する方法を紹介します。
1. ビューを変更するための構文
既存のビューを変更するには、ALTER VIEW ステートメントを使用します。 ALTER VIEW の構文は次のとおりです:
ALTER VIEW view_name [options];
このうち、view_name は変更するビューの名前で、オプションはビューの属性を指定するために使用されます。変更される予定です。オプション パラメーターのリストは次のとおりです。
CHECK OPTION オプションは、INSERT、UPDATE、および UPDATE で変更できる行のセットを制限するために使用されます。 DELETE ステートメント。このオプションは次のように指定できます。
ALTER VIEW view_name CHECK OPTION;
FORCE オプションは、Oracle に強制的に使用するように指示します。新しい効率の向上 このビューでステートメントを実行するための高度なインタープリター。このオプションは次のように指定できます:
ALTER VIEW view_name FORCE|NO FORCE;
COMPILE オプションは、Oracle に再コンパイルを指示します。ビュー。このオプションは次のように指定できます。
ALTER VIEW view_name COMPILE|NO COMPILE;
OPTIMIZE オプションは、Oracle にビューを最適化するように指示します。このオプションは次の方法で指定できます:
ALTER VIEW view_name OPTIMIZE;
2. ビューの変更例
次に、ビューの変更例を示します。
1. ビューのチェック オプションを変更します。
次のビュー定義を想定します。
CREATE VIEW view_emp
AS
SELECT *
FROM emp
WHERE給与 > 5000
給与が 5000 を超える従業員のみをこのビューに挿入できるように、このビューを保護するとします。 CHECK OPTION オプションを使用して、変更を制限できます。
ALTER VIEW view_emp CHECK OPTION;
ここで、5000 以下の従業員レコードをこのビューに挿入しようとすると、エラーメッセージを受け取りました。
2. ビューの必須オプションを変更します
ここで、次のビュー定義があると仮定します:
CREATE VIEW view_dept
AS
SELECT d. dept_no, d.dept_name , e.emp_name
FROM dept d, emp e
WHERE d.dept_no = e.dept_no
Oracle に新しいインタープリタを使用してこの文を実行させるとします。ビュー。これを実現するには、FORCE オプションを使用します。
ALTER VIEW view_dept FORCE;
Oracle は新しいインタープリタを使用してビューを実行するため、ビューの実行効率が向上する可能性があります。
3. ビューを再コンパイルする
ビューの基になるテーブルの構造を変更する場合は、ビューを再コンパイルして基になるテーブルと同期していることを確認する必要があります。
次に、ビューの再コンパイルの例を示します。
ALTER VIEW view_emp COMPILE;
これにより、Oracle はビューを強制的に再コンパイルして、ビューとの同期を確保します。基礎となるテーブル。
4. ビューの最適化
ビューを最適化する必要がある場合は、OPTIMIZE オプションを使用できます。
次に、ビューの最適化の例を示します。
ALTER VIEW view_emp OPTIMIZE;
これは、実行効率を向上させるためにビューを最適化するように Oracle に指示します。
概要:
この記事では、Oracle データベースのビューを変更する方法を紹介します。 ALTER VIEW ステートメントを使用して、ビューのプロパティの変更、オプションの確認、オプションの強制、再コンパイルおよび最適化のオプションを実行します。アプリケーションでは、これらのオプションを使用して、特定のアプリケーションのニーズを満たし、ビューの実行効率を向上させることができます。
以上がオラクルのビューの変更の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。