Oracle Insert ストアド プロシージャを作成する方法

PHPz
リリース: 2023-04-18 09:22:25
オリジナル
1018 人が閲覧しました

Oracle データベースでは、ストアド プロシージャは、特定のタスクを実行するために使用されるプリコンパイルされた PL/SQL コード ブロックです。入力パラメータを受け取って出力値を返し、一連の SQL ステートメントを実行できます。ストアド プロシージャを使用すると、複雑なデータベース操作が大幅に簡素化され、データベースのパフォーマンスが向上します。この記事では、Oracle Insert ストアド プロシージャの作成方法を紹介します。

ストアド プロシージャの作成

Oracle では、CREATE PROCEDURE ステートメントを使用してストアド プロシージャを作成します。基本的な例を次に示します。

CREATE OR REPLACE PROCEDURE sp_Insert ( p_id NUMBER, p_name VARCHAR2, p_desc VARCHAR2 ) AS BEGIN INSERT INTO mytable (id, name, description) VALUES (p_id, p_name, p_desc); COMMIT; END;
ログイン後にコピー

上の例では、CREATE OR REPLACE を使用して sp_Insert という名前のストアド プロシージャを作成しました。このストアド プロシージャには、p_id、p_name、p_desc の 3 つの入力パラメータがあります。ストアド プロシージャで INSERT INTO ステートメントを使用して、入力パラメータを mytable テーブルに挿入しました。最後に、COMMIT ステートメントを使用してトランザクションをコミットします。

ストアド プロシージャの呼び出し

EXECUTE ステートメントを使用してストアド プロシージャを呼び出すことができます。以下に例を示します。

EXECUTE sp_Insert(1, 'John', 'Description');
ログイン後にコピー

上の例では、sp_Insert という名前のストアド プロシージャを呼び出し、それに 3 つのパラメータを渡しました。ストアド プロシージャが実行されると、mytable テーブルに新しく挿入されたデータ行が表示されます。

ストアド プロシージャでの例外処理

ストアド プロシージャでは、EXCEPTION ステートメントを使用して例外を処理できます。以下に例を示します。

CREATE OR REPLACE PROCEDURE sp_Insert ( p_id NUMBER, p_name VARCHAR2, p_desc VARCHAR2 ) AS BEGIN INSERT INTO mytable (id, name, description) VALUES (p_id, p_name, p_desc); COMMIT; EXCEPTION WHEN OTHERS THEN ROLLBACK; DBMS_OUTPUT.PUT_LINE('Error: ' || SQLCODE || ' - ' || SQLERRM); END;
ログイン後にコピー

上の例では、EXCEPTION ステートメントを使用して例外をキャッチします。例外が発生した場合、ROLLBACK 文を使用してトランザクションをロールバックし、異常な SQLCODE および SQLERRM 情報を DBMS_OUTPUT.PUT_LINE メソッドを通じて出力します。

概要

Oracle Insert ストアド プロシージャを使用すると、複雑なデータベース操作が大幅に簡素化され、データベースのパフォーマンスが向上します。ストアド プロシージャでは、入力パラメータと出力値を使用して、一連の SQL ステートメントを実行できます。同時に、例外処理ステートメントを使用して異常な状況を処理することもできます。もちろん、ストアド プロシージャを作成するときは、ストアド プロシージャの有効性と信頼性を確保するために、適切な設計原則を念頭に置く必要があります。

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

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!