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)
";
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