ホームページ >データベース >mysql チュートリアル >Oracle の PL/SQL ブロック内から SELECT ステートメントの結果を出力するにはどうすればよいですか?

Oracle の PL/SQL ブロック内から SELECT ステートメントの結果を出力するにはどうすればよいですか?

Susan Sarandon
Susan Sarandonオリジナル
2025-01-12 10:32:43709ブラウズ

How Can I Output SELECT Statement Results from Within PL/SQL Blocks in Oracle?

PL/SQL ブロック内の SELECT ステートメントを出力

Oracle データベースでは、PL/SQL ブロック内の SELECT ステートメントの結果を出力する必要があることがよくあります。ただし、ブロック内で直接 SELECT ステートメントを使用しても、期待される出力は生成されません。

Oracle 12.1 以降

Oracle 12.1 では暗黙的な結果セットが導入され、PL/SQL ブロック内の SELECT ステートメントの結果を出力する方法が提供されます。次のコードは、このアプローチを示しています。

<code class="language-sql">declare
    rc sys_refcursor;
begin
    open rc for select * from dual;
    dbms_sql.return_result(rc);
end;
/</code>

Oracle の初期バージョン

以前のバージョンの Oracle では、ref カーソル バインド変数を使用して SELECT ステートメントの結果を出力できます。たとえば、SQL*Plus では、次のコードを使用できます:

<code class="language-sql">set autoprint on

var rc refcursor

begin
    open :rc for select count(*) from dual;
end;
/</code>
これにより、count(*) の結果が画面に出力されます。

以上がOracle の PL/SQL ブロック内から SELECT ステートメントの結果を出力するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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