|
|
|
![]() |
|
Strumenti |
![]() |
#1 |
Junior Member
Iscritto dal: Nov 2012
Messaggi: 19
|
shell linux e pl\sql oracle
salve a tutti mi sto immergendo nel mondo shell e oracle come da titolo ma non riesco a ritornarmi il risultato di una istruzione oracle nella shell, posto un po di codice.
ho provato sia con una funzione che con una procedura le posto entrambi (naturamlmente nello shell script ce ne è una sola). nello script ho fatto diverse prove ma nessuna funzionava, e nel codice dello script metto l'ultima fatta. procedura: Codice:
create or replace PROCEDURE COUNT_NEW_P ( total OUT number ) AS BEGIN SELECT count(*) into total FROM work_file; END COUNT_NEW_P; function: Codice:
create or replace FUNCTION count_new RETURN number IS total number(6) := 0; BEGIN SELECT count(*) into total FROM work_file; RETURN total; RETURN (null); END; script: Codice:
#!/bin/bash #Configurazione variabili ambiente Oracle ORACLE_HOME='C:\Oracle\product\11.2.0\dbhome_1' ORACLE_SID='orcl' oracle_usr='HR' oracle_pwd='HR' ret=$? sqlplus ${oracle_usr}/${oracle_pwd}@${ORACLE_SID} <<EOF WHENEVER SQLERROR EXIT 99 SET HEAD OFF SET FEED OFF SET PAGES 0 var ret number BEGIN ret := count_new; END; / exit :ret EOF echo " ret/ $ret" exit 0 come avete capito sono un neofita dell'argomento. se qualcuno ha delle idee o sa esattamente come dovrei fare lo ringrazio infinitamente. |
![]() |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 16:24.