sql >> Database teknologi >  >> RDS >> Oracle

Hent data fra Oracle SP Out Param SYS_REFCURSOR i Unix Korn Shell Script

Du har din print return_val på det forkerte sted; det skal være inde i SQL*PLUS-kommandoen, før exit, for at udskrive ref-markørvariablen.

Du skal også sætte præfikset return_val med et kolon i dit procedurekald for at indikere, at det bruger den bind-variabel, du lige har erklæret - selvom du også har udeladt variabeltypen fra dens erklæring. Dette ser ud til at gøre, hvad du vil:

function runproc
{
    #read ref cursor from proc
    cur=`sqlplus -s $connectiondetails <<EOF
        SET PAGESIZE 0 FEEDBACK ON VERIFY OFF HEADING OFF ECHO OFF
        var return_val refcursor
        exec myproc_retcur(14, :return_val);
        print return_val
        EXIT
        EOF`
    return cur
}

Du har ikke vist hvor WEEKNUM kommer fra, så jeg har hårdkodet det til et tal indtil videre.

Jeg tror nok, du vil slå feedback fra, ikke til i øvrigt.




  1. Mysql database design struktur

  2. Omvendt af SQL LIKE '%value%'

  3. SQL - Find ordrer med kun specifikke varer og vis det efter produkt

  4. Er der nogen måde at få JBoss-forbindelsespuljen til at oprette forbindelse til Oracle igen, når forbindelserne går dårlige?