ホームページ > データベース > Oracle > Oracleストアドプロシージャとは何ですか

Oracleストアドプロシージャとは何ですか

醉折花枝作酒筹
リリース: 2023-01-13 00:40:17
オリジナル
16514 人が閲覧しました

Oracle では、ストアド プロシージャは、特定の機能を完了するための一連の SQL ステートメントです。これはコンパイルされ、データベースに保存されます。ユーザーは、ストアド プロシージャ名とパラメータ (構文形式) を指定して実行します。は「プロシージャのストアド プロシージャ名を作成または置換します」です。

Oracleストアドプロシージャとは何ですか

このチュートリアルの動作環境: Windows 7 システム、Oracle バージョン 11.2.0.1.0、DELL G3 コンピューター。

Oracle ストアド プロシージャは、処理宣言、実行処理部分、ストアド プロシージャ例外の 3 つの部分で構成されます (記述してもしなくても構いません。スクリプトのフォールト トレランスとデバッグの利便性を高めるために、例外処理を記述します)

ストアド プロシージャは、主に複雑な関数を完成させるために使用されます。SQL ステートメントを直接使用する場合は、毎回コンパイルする必要があります。ただし、ストアド プロシージャは 1 回コンパイルするだけで済み、後で直接呼び出すことができます。その構文は次のとおりです。

create or replace procedure procedure_name
as
begin
   extention;
end;
/
ログイン後にコピー

行 1:

CREATE OR REPLACE PROCEDURE は、スケルトンと呼ばれるストアド プロシージャを作成し、存在する場合は上書きするように Oracle データベースに通知する SQL ステートメントです。

行 2:

IS キーワードは、PL/SQL 本体が後に続くことを示します。

行 3:

BEGIN キーワードは、PL/SQL 本体の始まりを示します。

行 4:

NULL PL/SQL 文は、何も実行しないことを示します。PL/SQL 本体には少なくとも 1 つの文が必要であるため、この文は削除できません。

行 5:

END キーワードは、PL/SQL 本体の終わりを示します。

ストアド プロシージャ作成構文:

 create or replace procedure 存储过程名(param1 in type,param2 out type) 
as 
变量1 类型(值范围); --vs_msg   VARCHAR2(4000); 
变量2 类型(值范围);
Begin
Select count(*) into 变量1 from 表A where列名=param1;
 
    If (判断条件) then
       Select 列名 into 变量2 from 表A where列名=param1;
       Dbms_output。Put_line(‘打印信息’);
    Elsif (判断条件) then
       Dbms_output。Put_line(‘打印信息’);
    Else
       Raise 异常名(NO_DATA_FOUND);
    End if;
Exception
    When others then
       Rollback;
End;
ログイン後にコピー
注意:


1 、ストアド プロシージャ パラメータには値の範囲がありません。in は受信を意味し、out は出力を意味します。

型は、Oracle の任意の有効な型を使用できます。

2, 変数には値の範囲があり、その後にセミコロンが続きます

3. ステートメントを判断する前に、count(*) 関数を使用して操作記録が存在するかどうかを確認することをお勧めします。

4、選択を使用します。 。 。の中へ。 。 。変数

5 に値を割り当てます。コードで例外をスローするには、raise を使用します。例外名は

です。推奨 (無料): oracle

以上がOracleストアドプロシージャとは何ですかの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート