Bonjour à tous,
Je viens de créer un procédure qui prend en paramètre une date 'DD/MM/YY'
Cette procédure doit vérifier si la date est égale ou inférieure à la date courant moins un mois. Par exemple nous sommes le 01/04/09, la date en paramètre doit donc être égale ou supérieure au 01/03/09. Si c'est le cas on update la DB.
Voila ma première procédure mais une erreur de conversion apparaît lors de l'exécution (character to number conversion error)... et ça m'étonnerait que la condition du if fonctionne....:
J'ai également essayé comme ceci, ça fonctionne mais il n'a pas toujours 30 jours dans un mois... :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 create or replace procedure SP_TAXER ( DATE_DEB in date ) is begin if ((to_char(SYSDATE(),'DD/MM/YY') - to_char(DATE_DEB,'DD/MM/YY'))<1)then update CONTRAT set MNT_TPS_CO = MNT_CONTRAT_CO * 0.05, MNT_TVQ_CO = MNT_CONTRAT_CO * 0.075 where DATE_CONTRAT > DATE_DEB; end if; end;
Si quelqu'un peu m'aider
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15 create or replace procedure SP_TAXER ( DATE_DEB in date ) is begin if ((to_char(SYSDATE(),'DDD') - to_char(DATE_DEB,'DDD'))<31)then update CONTRAT set MNT_TPS_CO = MNT_CONTRAT_CO * 0.05, MNT_TVQ_CO = MNT_CONTRAT_CO * 0.075 where DATE_CONTRAT > DATE_DEB; end if; end;
Merci,
AD
Partager