\r\n\r\n
ビューとストアドプロシージャ
ビューとストアドプロシージャは、データベースオブジェクトの2つのタイプです。ビューは、1つまたは複数のテーブルからデータを収集するストアドクエリです。以下は、ビューを作成するための構文です。
ビューの作成または交換 ビュー名
として
ステートメントの選択。
ストアドプロシージャは、データベースサーバーに格納されている、コンパイル済みのSQLコマンドのセットです。各ストアドプロシージャには、他のパッケージ、プロシージャ、関数内から呼び出すために使用される呼び出し名があります。これは、ストアドプロシージャを作成するための構文(ORACLEの場合)である。
プロセスプログラムの名称変更(パラメータ)の作成または置換
はい
スタート
ステートメント
例外事項
例外処理
結論
表示
ビューは、仮想的なテーブルとして機能します。これは、SELECT文が本体の中に隠されています。このSELECT文は非常に複雑で、複数のテーブルやビューからデータを取得します。つまり、ビューとは、データベースに格納される名前付きSELECT文のことである。ビューは、テーブルリレーションの背後にあるロジックをエンドユーザーから隠すために使用することができます。ビューはクエリの結果を保存するものであり、データを保持するものではありません。ベースとなるテーブルからデータを収集し、表示する。また、ビューはデータセキュリティの面でも重要な役割を担っています。テーブルのオーナーがエンドユーザーにデータのセットを表示するだけでよい場合、ビューを作成することは良い解決策です。ビューは2つのカテゴリーに分けられます。
更新可能なビューは、以下を含むことができません:,.
集合演算子(交差、マイナス記号、連結、全合成)
ユニーク
グループ集計機能(AVG、COUNT、MAX、MIN、SUMなど)
GROUP BY句
記事で並べ替え
CONNECT BY 節
冒頭の句
選択リスト内のコレクション式
リストからサブクエリを選択する
リンククエリ
ストアドプロシージャ
ストアドプロシージャはプログラミングブロックと呼ばれます。名前があるはずです。ストアドプロシージャは、ユーザー入力としてパラメータを受け取り、プロシージャの背後にあるロジックに基づいて処理され、結果が与えられる(または特定のアクションを実行する)。変数宣言、変数代入、制御文、ループ、SQLクエリ、その他の関数/プロシージャ/パッケージの呼び出しは、プロシージャ本体に記述することができます。
ビューとストアドプロシージャの違いは何ですか?両者の違いについて見ていきましょう。-ビューは仮想テーブルとして機能します。これらはfrom-close-of-SQLクエリ(select)で直接使用することができますが、from-close-of-SQLクエリではプロシージャを使用することはできません。-ビューのボディはselect文のみですが、プロシージャのボディには変数宣言、変数代入、制御文、ループ、SQLクエリなどの関数/プロシージャ/パッケージの呼び出しが可能です。-プロシージャは実行されるパラメータを受け取りますが、ビューはパラメータが実行されることを期待しません。-レコード・タイプは、%ROWTYPE を使用してビューから作成できますが、プロシージャは使用できません。-SQLヒントは、実行計画を最適化するためにビューセレクトステートメントで使用することができますが、ストアドプロシージャでSQLヒントを使用することはできません。-DELETE、INSERT、UPDATE、SELECT、FLASHBACKおよびDEBUGはビューに付与できますが、EXECUTEおよびDEBUGのみがプロシージャに付与できます。 |