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

Bagaimana cara menangkap hasil prosedur tersimpan melalui skrip Shell?

Versi blok anonim dalam skrip shell tidak akan dieksekusi seperti yang ditunjukkan, karena Anda tidak memiliki garis miring setelah blok untuk menjalankannya . Jika Anda menjalankannya, Anda tidak mendapatkan output sama sekali. Jika Anda mengubahnya menjadi garis miring:

sqlplus -silent [email protected] <<EOF
set serveroutput on
declare
  DE_REC_COUNT number(10);
begin
    DE_DUP_PROC ('T_MCL_30404_20150317_020','MCL','30404','FT',DE_REC_COUNT);
end;
/
EOF

maka Anda akan melihat:

0

PL/SQL procedure successfully completed.

Anda telah menunjukkan versi interaktif di SQL*Plus tanpa garis miring juga, tetapi Anda harus memilikinya untuk melihat output yang Anda tunjukkan.

Jika Anda menginginkan nol - yang tampaknya berasal dari dbms_output panggil prosedur Anda, daripada langsung dari blok anonim Anda - dengan variabel shell yang dapat Anda rujuk nanti, Anda dapat menetapkan output heredoc ke variabel:

MY_VAR=`sqlplus -silent [email protected] <<EOF
set serveroutput on
set feedback off
declare

DE_REC_COUNT number(10);
begin
    DE_DUP_PROC ('T_MCL_30404_20150317_020','MCL','30404','FT',DE_REC_COUNT);
end;
/

EOF`

printf "Got back MY_VAR as %s\n" ${MY_VAR}

Perhatikan bahwa saya telah menambahkan set feedback off jadi Anda tidak melihat PL/SQL procedure successfully completed garis. Sekarang ketika Anda menjalankannya, Anda akan melihat:

Got back MY_VAR as 0

dan Anda dapat melakukan apa pun yang Anda perlukan dengan ${MY_VAR} . Itu tergantung apa yang Anda maksud dengan 'tangkap'.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Oracle (Lama?) Bergabung - Alat/skrip untuk konversi?

  2. Paket cx_Oracle Tidak berfungsi di dalam Crontab

  3. Bagaimana cara terhubung ke database Oracle menggunakan VBScript dan UFT?

  4. Oracle 11.1.0.7 dan kegagalan oci_connect WAMP

  5. Masalah kueri SqlPlus (Spesifikasi Paket dan Isi)