ホームページ  >  記事  >  データベース  >  Oracleクエリのストアドプロシージャの書き方

Oracleクエリのストアドプロシージャの書き方

下次还敢
下次还敢オリジナル
2024-04-18 22:21:34863ブラウズ

ステップ: データベース接続を作成します。名前、パラメーター、SQL ステートメントを指定してストアド プロシージャを作成します。ストアド プロシージャをコンパイルし、エラーを確認します。ストアド プロシージャを実行し、パラメータを渡します。一時テーブル SYS_REFCURSOR をクエリして結果を取得します。

Oracleクエリのストアドプロシージャの書き方

#Oracle クエリ ストアド プロシージャを生成する手順

ステップ 1: データベース接続を作成する

<code class="sql">CONN username/password@host:port/database_name</code>

ステップ 2: ストアド プロシージャを作成する

CREATE PROCEDURE ステートメントを使用して新しいストアド プロシージャを作成し、その名前、パラメータ、およびSQL ステートメント。

<code class="sql">CREATE PROCEDURE procedure_name(
  param1 data_type,
  param2 data_type,
  ...
)
AS
BEGIN
  -- SQL 查询语句
END;</code>

ステップ 3: ストアド プロシージャをコンパイルする

SHOW ERRORS ステートメントを使用してストアド プロシージャをコンパイルし、エラーがあるかどうかを確認します。

<code class="sql">SHOW ERRORS;</code>

ステップ 4: ストアド プロシージャを実行する

EXEC ステートメントを使用してストアド プロシージャを実行し、必要なパラメータを渡します。

<code class="sql">EXEC procedure_name(
  param1_value,
  param2_value,
  ...
);</code>

ステップ 5: 結果を取得する

ストアド プロシージャの結果は、一時テーブル

SYS_REFCURSOR をクエリすることで取得できます。

<code class="sql">SELECT * FROM SYS_REFCURSOR;</code>

例:

特定の姓を持つすべての従業員に関する情報を返す

get_employees という名前のストアド プロシージャを作成します。

<code class="sql">CREATE PROCEDURE get_employees(
  surname VARCHAR2
)
AS
BEGIN
  SELECT * FROM employees
  WHERE last_name = surname;
END;</code>
ストアド プロシージャのコンパイル:

<code class="sql">SHOW ERRORS;</code>
ストアド プロシージャの実行:

<code class="sql">EXEC get_employees('Smith');</code>
結果の取得:

<code class="sql">SELECT * FROM SYS_REFCURSOR;</code>

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

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。