2010-08-24 14 views
8

Come seguito alla domanda "Get resultset from oracle stored procedure", c'è un modo per mostrare i risultati di una stored procedure che restituisce uno REFCURSOR in una griglia (anziché la finestra di output dello script di testo in chiaro) all'interno di SQL Developer?Oracle SQL Developer: Mostra i risultati REFCURSOR nella griglia?

EDIT: La risposta ha aiutato, ma ho ancora un problema che visualizza il set di risultati nella finestra "Vista Valore":

alt text

Le colonne possono essere ampliati solo una piccola quantità , probabilmente a causa del numero di risultati restituiti. Ampliare la finestra con il controllo Resizer non aiuta:

alt text

risposta

8

non credo che si può con una procedura.

Modifica: Grazie a DCookie per semplificare la mia risposta originale.

Ma come soluzione è possibile scrivere una funzione che chiama la procedura e quindi invocarla utilizzando SQL.

ad es.

create or replace function callmyproc 
return sys_refcursor 
IS 
    rc sys_refcursor; 
BEGIN 

    myproc(rc); 

    return rc; 

END; 

che è quindi possibile chiamare con:

select callmyproc() 
    from dual; 

Quando questo esempio viene eseguito, la griglia di SQL dati Developer mostra un risultato, ma se si scorre a destra e fare clic sul pulsante Modifica, si vedrà i risultati in una griglia.

+1

O ancora più semplice, creare una funzione che richiama la procedura e restituisce il riferimento. – DCookie

+0

@DCookie - Certo! un modo molto più elegante. Grazie, ho modificato la mia risposta. –

+0

Grazie per il vostro aiuto. Ho accettato la risposta, ma per i risultati che sto recuperando la finestra "Visualizza valore" mostra colonne minuscole che non posso espandere quando si fa clic sul pulsante di modifica. – technomalogical

Problemi correlati