Période de date SQL dans un scriptshell
Bonjour les experts,
Je souhaite via un scriptshell extraire tous les données d'une table sur une période annelle à compter du jour de son exécution. Sachant que je suis sur Oracle 11g ma requête ci-dessous fonctionne bien sauf que on l'a mettant dans un scriptshell elle me retourne une erreur au niveau de la soustraction !!!
Pourriez-vous m'apporter vos lumières svp.
Code:
select * from MaTable DATE_TRM>(sysdate-356);
Erreur de sortie :
Citation:
ERROR at line 1:
ORA-01843: not a valid month
Problème initial résolu, on passe à un problème de sortie
Merci ecatomb ta réponse que j'adopte sans critique.
Citation:
ADD_MONTHS(sysdate, -3)
Maintenant après que ma requête marche dans mon script je constate que mon fichier de sortie contient la requête entête puis les informations tracées comme suit sachant que moi je ne souhaite pas afficher la requête dans le contenu du fichier :
Citation:
SQL> select * from MaTable where DATE_TRM>ADD_MONTHS(sysdate, -12);
ID_BOBJECT|TRN_ID|CD_RE
--------------|---------|--------
178041| 253|BDI01
J'ai essayé de mettre en off quelques variables sur les quelles j'avais des doutes mais ça n'a pas abouti :(
Quelqu'un s'aura quelle variable exactement faut forcer pour éliminer cette ligne précisément?
Code:
1 2 3 4 5 6 7 8 9 10 11 12
|
set echo off
set ver off
set heading on
set pages 10000
set linesize 10000
set null null
set trimspool on
set colsep '|'
spool MonFichierDeSortie\.csv
select * from MaTable DATE_TRM>ADD_MONTHS(sysdate, -12);
spool off; |
Problème initial résolu, on passe à un problème de sortie
Citation:
moi, quand j'extrais mes données, j'ai que le résultat, j'ai même pas les colonnes names
Tu 'as par défaut sur ton environnement
Dans mon cas il me sort même les erreurs captées lors du spool. Ça commence à m’agacer lol
Résolu avec doute (echo off ne fonctionne pas en mode interactif)
Pour pouvoir bien maîtriser les variable de formatage SQL*plus il faut créer un fichier sql indépendant et l’exécuter avec le batch crée.