salut à tous,

j´ai un probleme au moment de la compilation de ma procedure. J´ai juste le message d´erreur "compilé avec faute".
J´utilise Oracle 11, je compile avec TOAD...

En fait j´ai crée une table virtuelle et je dois y inserer des données provenant d´autres table et aussi d´une Function (SuPl_RIARead) que j´ai ecrite. La function retourne des valeurs de type VARCHAR2, et dans cette function j´ai plusieurs requetes en fonction du type de données entrées en parametre....mais al a fin elle doit retourner un varchar2.

Parmis les données retournées il y a une de type DATE, que je converti en varchar2 (avec to_char) dans la Function.SuPl_RIARead or elle doit me retourner cette valeur dans Post (SuPl_RIARead(HORefnr,2826711,'NAME') as Post) qui est de type date dans la Table et je crois qu´elle n´y arrive pas, c´est la l´erreur. Je dois l´utiliser pour faire une soustraction entre 2 Date...

J´ai utilisé SuPl_RIARead(HORefnr,2826711,'NAME') as to_date(Post,'dd.mm.yyyy') mais il reconnait pas Post ("Invalid Identifier").

Comment doit je faire? Est ce que je dois faire d´abord un UPDATE ? Si oui ou et comment?


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
insert into GTT_RIA_AKTVER
Select
 ....
 ,.....
,DateSortie
,SuPl_RIARead(HORefnr,2826711,'NAME') as to_date(Post,'dd.mm.yyyy')
 ,SuPl_RIARead(HORefnr,2826658,'NAME') as InsArchiv    
,(select to_date(DateSortie,'dd-mm-yyyy') - to_date(Post,'dd-mm-yyyy') from dual) as DEP 
 
from
vSYSHO
join vSYSPA on HOPARefnr = PARefnr
join vSYSBEW BEW1 on BEWHoRefNr = HORefnr 
where
and ((p_patn is Null) or (upper(PaName) like ('%' || upper(p_patn) || '%'))) ;
Merci