sql >> Database >  >> RDS >> Oracle

Gegevens ophalen van Oracle SP Out Param SYS_REFCURSOR in Unix Korn Shell Script

Je hebt je print return_val op de verkeerde plaats; het moet in het SQL*PLUS-commando staan, vóór het afsluiten, om de ref cursor-variabele af te drukken.

Je moet ook het voorvoegsel return_val . geven met een dubbele punt in uw procedureaanroep, om aan te geven dat het de bindvariabele gebruikt die u zojuist hebt gedeclareerd - hoewel u het variabeletype ook uit de declaratie hebt weggelaten. Dit lijkt te doen wat je wilt:

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
}

Je hebt niet getoond waar WEEKNUM komt vandaan, dus ik heb dat voorlopig gecodeerd in een nummer.

Ik denk dat je feedback waarschijnlijk uit wilt zetten, niet toevallig.




  1. PDO - Ongeldig parameternummer

  2. Hoe Now() werkt in PostgreSQL

  3. Mysql-resultaat krijgen van itemupdate

  4. Hoe XBRL-gegevens importeren in MySQL?