bonjour à tous,
J'utilise le shell linux(bash) pour faire des traitements sur une base Oracle.
J'ai un problème avec une fonction qui exécute une requete :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
 
tranche_mini(){
  minim=`sqlplus -s $ORA_DBA@XE   << -EOF
  set pause off heading off feed off pagesize 0;
  select max(montant_cumul) from tstt where montant_cumul < $wdec order by montant_cumul desc;
  exit;
  EOF`
  echo $minim
}
J'ai l'erreur suivante :
"ORA-00933 : SQL command not properly endmontant_cumul<120"
En fait si je remplace wdec par sa valeur ça fonctionne :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
 
tranche_mini(){
  minim=`sqlplus -s $ORA_DBA@XE   << -EOF
  set pause off heading off feed off pagesize 0;
  select max(montant_cumul) from tstt where montant_cumul < 120 order by montant_cumul desc;
  exit;
  EOF`
  echo $minim
}
En principe ce genre de message est pour des requetes mal écrites, j'ai testé ma requete en "direct" elle fonctionne également, donc là je vois pas le problème. Est ce lié au shell linux car j'avais écris ce code sous du shell Unix et il fonctionne .
Si quelqu'un peut m'aider Merçi
A +