sql >> Database >  >> RDS >> Oracle

Is het mogelijk om een ​​SELECT-instructie uit een PL/SQL-blok uit te voeren?

U kunt dit doen in Oracle 12.1 of hoger:

declare
    rc sys_refcursor;
begin
    open rc for select * from dual;
    dbms_sql.return_result(rc);
end;

Ik heb geen DBVisualizer om mee te testen, maar dat zou waarschijnlijk je uitgangspunt moeten zijn.

Voor meer details, zie Impliciete resultatensets in de Oracle 12.1 New Features Guide, Oracle Base enz.

Voor eerdere versies kunt u, afhankelijk van de tool, ref cursor bind-variabelen gebruiken, zoals dit voorbeeld van SQL*Plus:

set autoprint on

var rc refcursor

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

PL/SQL procedure successfully completed.


  COUNT(*)
----------
         1

1 row selected.


  1. Equivalent van Oracle's RowID in MySQL

  2. Een CHECK-beperking in SQL Server uitschakelen (T-SQL-voorbeelden)

  3. ServiceNow integreren met Oracle Identity Cloud Service (IDCS)

  4. Hoe de serverstatus in MySQL Workbench te controleren met behulp van de GUI