sql >> Base de Datos >  >> RDS >> Oracle

Oracle sqlldr:columna no permitida aquí

BLANKS es una palabra clave de SQL*Loader, no algo que pueda usar dentro de un decode Declaración SQL:lo trata como un nombre de columna. Si realmente es una cadena vacía (de longitud cero), como bien puede ser el caso en un archivo delimitado, en el decode podrías usar '' en lugar de BLANKS; pero Oracle lo trata como nulo de todos modos. En cuyo caso el decode debería ser redundante y solo puede usar un NULLIF como lo ha hecho para las otras columnas. Si la cadena 'vacía' es en realidad uno o más espacios, puede hacer algo como decode(TRIM(:PRIORITY),'',NULL,'\\N',NULL,:PRIORITY) . (Necesitaría la cláusula predeterminada final para el decode de todos modos o todos los valores irían a nulo.)