Oracle
 sql >> Teknologi Basis Data >  >> RDS >> Oracle

Ambil data dari Oracle SP Out Param SYS_REFCURSOR di Unix Korn Shell Script

Anda memiliki print return_val di tempat yang salah; itu harus berada di dalam perintah SQL*PLUS, sebelum keluar, untuk mencetak variabel kursor ref.

Anda juga perlu awalan return_val dengan titik dua dalam panggilan prosedur Anda, untuk menunjukkan itu menggunakan variabel bind yang baru saja Anda nyatakan - meskipun Anda juga menghilangkan tipe variabel dari deklarasinya. Ini tampaknya melakukan apa yang Anda inginkan:

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
}

Anda belum menunjukkan di mana WEEKNUM berasal dari jadi saya telah mengkodekan itu menjadi nomor untuk saat ini.

Saya rasa Anda mungkin ingin menonaktifkan masukan, bukan mengaktifkannya, secara kebetulan.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Bagaimana membuat to_number mengabaikan nilai non-numerik

  2. instal cx_Oracle untuk python

  3. SQL Query Dengan Row_Number, pesan berdasarkan dan di mana klausa

  4. Memasukkan simpul anak dalam kolom XMLTYPE

  5. LTRIM() Fungsi di Oracle