Clause Where avec variable en erreur
Bonjour à tous,
j'aurais besoin d'un peu d'aide sur une requête Oracle ou je voudrais utiliser des variables afin de rendre plus visible et facile d'accès la recherche de données. Le résultat de la requête doit être affiché sur un écran et il y aura donc plusieurs éléments résultants de celle-ci
J'ai la requête ci-dessous qui fonctionne parfaitement. Or, je souhaiterais remplacer le sysdate, par une date que je pourrais déclarer en début de requête
J'ai tenté d'utiliser les variables mais la requête retourne plusieurs éléments. J'ai tenté d'utiliser la fonction cursor mais j'ai du mal à aller jusqu'au bout, et surtout afficher le résultat de ma requête sur Toad.
Voici la requête qui fonctionne :
Code:
1 2 3 4
| select mr.code, mr.creationdate
from cswo_mr mr
left join cswo_mrstatus mrs on mr.id=mrs.origin_id
where to_char(mr.creationdate,'yyyy-mm-dd HH24:mi:ss') between to_char(sysdate,'yyyy-mm-dd') ||' 05:00:00' and to_char(sysdate,'yyyy-mm-dd') ||' 12:59:59' |
Voici le système que j'aimerais mettre en place mais qui ne marche pas :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
| Declare
DateDeb DATE;
DateFin DATE;
HeureDeb varchar2(30);
HeureFin varchar2(30);
di varchar2(33);
Begin
DateDeb:=to_date('2016-01-01','yyyy-mm-dd');
DateFin:=to_date('2017-01-31','yyyy-mm-dd');
HeureDeb:=' 05:00:00';
HeureFin:=' 12:59:59';
select mr.code into di
from cswo_mr mr
left join cswo_mrstatus mrs on mr.id=mrs.origin_id
where mr.creationdate between DateDeb || HeureDeb and datefin || HeureFin;
End;
/ |
J'ai le message d'erreur ci-dessous .
Citation:
ORA-01422: l'extraction exacte ramène plus que le nombre de lignes demandé
ORA-06512: à ligne 14
Un peu d'aide serait nécessaire svp. Merci