PL/SQL ブロック内の SELECT 文の結果の表示
このガイドでは、スタンドアロンの SELECT
ステートメントの動作を模倣して、PL/SQL ブロック内に SELECT
ステートメントの結果を表示する方法を示します。 単純な SELECT
ステートメントだけでは十分ではありません。代替手段が必要です。
Oracle 12.1 以降
Oracle 12.1 以降のバージョンは、暗黙的な結果セットをサポートします:
<code class="language-sql">DECLARE rc SYS_REFCURSOR; BEGIN OPEN rc FOR SELECT * FROM dual; DBMS_SQL.RETURN_RESULT(rc); END; /</code>
古い Oracle バージョン (12.1 より前)
以前の Oracle バージョンの場合は、ref カーソル バインド変数を利用します。
<code class="language-sql">SET AUTOPRINT ON; VARIABLE rc REFCURSOR; BEGIN OPEN :rc FOR SELECT COUNT(*) FROM dual; END; / PRINT rc;</code>
これにより、ref カーソル変数が SQL*Plus ステートメントにバインドされ、PL/SQL ブロック内に統合されているかのように結果を表示できるようになります。
概要
PL/SQL 内で SELECT
の結果を表示するアプローチは、Oracle のバージョンに応じて若干異なります。 ただし、上で概説した方法は、PL/SQLプロシージャ内での問合せおよびデータ管理の処理に効果的なソリューションを提供します。 これらは、複雑なクエリを処理するための柔軟性を提供します。
以上がPL/SQL ブロック内で SELECT ステートメントの結果を表示するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。