domingo, 18 de noviembre de 2018

► Problemas con la sintaxis de INLINE


El problema más habitual es cargar datos que contienen caracteres reservados como $ ó []
Para el caso de los corchetes, podemos sustituir los corchetes de la sintaxis de Inline por dobles comillas “ (observar que los campos de las expresiones que se cargan en Formula usan corchetes)

LOAD NumExpresion,
    
DUAL(Nombre, NumExpresion) as Nombre,
    
Formula;
LOAD * Inline "
NumExpresion,  Nombre, Formula
1, Coste Total   , Sum([Coste Total])
2, Importe Venta , Sum([Importe Venta])
3, Expediciones  , Sum(Expediciones)
4, Cobrado       , Sum(Cobrado)
"
;


Otro problema muy común es cuando los valores a cargar tienen una coma. En este caso, el funcionamiento por defecto de INLINE piensa que se trata de un separador de campos y lo trata como tal. La solución viene utilizando la opción DELIMITER.

En este ejemplo cargamos datos de usuarios: Su Id y su nombre completo en formato "apellidos, nombre"
Si no usamos la opción DELIMITER interpretaría la coma del nombre como delimitador de campos y daría un resultado incorrecto. Por eso establecemos que el delimitador entre campos es '|'.


                  LOAD Inline [
            id   | nombre
            1015 | Martinez Mayoral, José Manuel
            2113 | Callejón López, María
         ] (delimiter is '|');

No hay comentarios:

Publicar un comentario