Oracle
 sql >> Database >  >> RDS >> Oracle

Oracle sqlldr:colonna non consentita qui

BLANKS è una parola chiave SQL*Loader, non qualcosa che puoi usare all'interno di una decode Istruzione SQL:la tratta come un nome di colonna. Se è davvero una stringa vuota (di lunghezza zero), come potrebbe essere il caso in un file delimitato, nella decode potresti usare '' invece di BLANKS; ma Oracle lo considera comunque nullo. In tal caso il decode dovrebbe essere ridondante e puoi semplicemente usare un NULLIF come hai fatto per le altre colonne. Se la stringa 'vuota' è in realtà uno o più spazi, puoi fare qualcosa come decode(TRIM(:PRIORITY),'',NULL,'\\N',NULL,:PRIORITY) . (Avresti bisogno della clausola predefinita finale per la decode comunque o tutti i valori andrebbero a null.)