Tempo di compilazione Errore in Proc (Embedded SQL in C)
-
22-09-2019 - |
Domanda
Ti prego, dimmi che cosa è sbagliato con la query. Sto usando Pro C.
EXEC SQL SELECT 1
INTO :db_count
FROM sachin t
WHERE t.serialno = :serial_no
AND t.amount = (:db_inamount - (SELECT NVL(overrun_amount,0)
FROM sunny tovrun
WHERE tovrun.serialno = :serial_no
AND tovrun.timestamp = t.timestamp
AND rownum < 2)
)
AND t.request_code = 11
AND t.reason_code = 0
AND t.reversed = 0
AND rownum < 2;
E ottenere gli errori di compilazione
Syntax error at line 4487, column 42, file my_file.pc:
Error at line 4487, column 42 in file my_file.pc AND t.amount = (:db_inamount - (SELECT NVL(overrun_amount,0)
Soluzione
Usa:
AND t.amount = (SELECT :db_amount - NVL(overrun_amount, 0) ...
E 'una colonna standard calcolata, in cui il valore viene calcolato prima del confronto al valore t.amount
per la parità.
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow