|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Junior Member
Iscritto dal: Nov 2005
Messaggi: 10
|
[PL/SQL] - uso variabili con sysdate
Ciao a tutti,
premetto che sono un neofita nel mondo db, sto creando una stored procedure e sono "inciampato" in un problema. Mi spiego meglio... ho una serie di SELECT, lanciate una dietro l'altra e unite con il comando UNION. Le SELECT sono tutte uguali, tranne che per questo comando ROUND((((TRUNC(sysdate-1)+2/24).... è incrementale e arriva fino alle 23 ...ROUND((((TRUNC(sysdate-1)+23/24).... Vorrei automatizzare il tutto, tramite una stored procedure, in modo da avere una sola SELECT in un loop con il valore dopo il "+" che va ad aumentare fino al valore max. 23. La variabile l'ho creata così: FOR I IN 0..23 LOOP IF I = 0 THEN index_sysdate := null; ELSE index_sysdate := '+' || I || '/24'; END IF; ..... La variabile la richiamo in questo modo: ROUND((((TRUNC(sysdate-1) || index_sysdate) Ottenendo però l'errore: [Error] ORA-00932 (58: 45): PL/SQL: ORA-00932: inconsistent datatypes: expected CHAR got DATE Qualcuno potrebbe spiegarmi dove sta l'errore? immagino si tratti del tipo dati definito per "index_sysdate" (dichiarato come varchar2(10)). Non saprei però come dichiararlo e se la sintassi di utilizzo della variabile è corretta. Grazie a tutti, Sauron79 |
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 00:49.




















