Maison >base de données >tutoriel mysql >Comment puis-je générer les résultats de l'instruction SELECT à partir des blocs PL/SQL dans Oracle ?

Comment puis-je générer les résultats de l'instruction SELECT à partir des blocs PL/SQL dans Oracle ?

Susan Sarandon
Susan Sarandonoriginal
2025-01-12 10:32:43708parcourir

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

Instruction SELECT de sortie dans un bloc PL/SQL

Dans les bases de données Oracle, il est souvent nécessaire de sortir les résultats d'une instruction SELECT dans un bloc PL/SQL. Cependant, l'utilisation d'une instruction SELECT directement dans un bloc ne produit pas le résultat attendu.

Oracle 12.1 et supérieur

Oracle 12.1 a introduit des jeux de résultats implicites, qui permettent d'afficher les résultats d'une instruction SELECT dans un bloc PL/SQL. Le code suivant illustre cette approche :

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

Premières versions d'Oracle

Pour les versions antérieures d'Oracle, vous pouvez utiliser la variable de liaison du curseur ref pour afficher les résultats d'une instruction SELECT. Par exemple, dans SQL*Plus, vous pouvez utiliser le code suivant :

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

var rc refcursor

begin
    open :rc for select count(*) from dual;
end;
/</code>

Cela imprimera le résultat du comptage (*) à l'écran.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn