ステップ: データベース接続を作成します。名前、パラメーター、SQL ステートメントを指定してストアド プロシージャを作成します。ストアド プロシージャをコンパイルし、エラーを確認します。ストアド プロシージャを実行し、パラメータを渡します。一時テーブル SYS_REFCURSOR をクエリして結果を取得します。
#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 サイトの他の関連記事を参照してください。