Gracias Jaime, por responder tan detalladamente, solo tengo una ultima
pregunta para confirmar,
esto significaria que en todos los campos donde yo crea que ira un '
(apostrofe) o una \ (diagonal invertida),
ese campo en mis inserts irian siempre con la E inicial

Ejemplo:

Insert into nombre_cliente (descripcion) values (*E*'Nombre con apostrofe
Macdonald\'s y con diagonal invertida c:\\foto.jpg')

Lo que quiero decir es que esa sera mi sintaxis para logra ingresar datos
asi, y tendre que crear una mi funcion
que verifique antes de insertar datos asi, escanee el contenido y anteponga
la \ (diagonal invertida) para lograr hacerlo?

En espera de tus comentarios, muchas gracias
-- 
*Atentamente,

Manuel Ramírez Bercián
*

El 5 de enero de 2011 15:13, Jaime Casanova <ja...@2ndquadrant.com>escribió:

> 2011/1/5 Manuel R. Bercián <mberc...@gmail.com>:
> > Estimados amigos, quisiera que me ayudaran con una duda que tengo,
> > Quiero hacer referencias a unas fotos en un directorio
> > c:\fotos\empleados\juan.jpg
> > y esta cadena insertarla en una tabla en el campo foto, para poder
> mostrarla
> > mas adelante,
> > el problema surge cuando inserto dicha cadena y me da el siguiente error.
> >
> > WARNING:  uso no estandar de \\ en un literal de cadena
> > LINE 166: ..., 'http://www.ejemplo.com', 'c:\\fotos...
> >                                                                ^
> > HINT:  Use '' para escribir comillas en cadenas, o use la sintaxis de
> escape
> > de cadenas (E'\\').
> >
>
> esto no es un error sino una advertencia (es decir, tu codigo debe
> haber estado insertando)... el asunto es que el caracter \ se ha usado
> historicamente para "escapar" el significado normal de otro caracter.
> por ejemplo en sql tu inicias un cadena de caracteres con el caracter
> ' pero si lo que quieres es incluir el caracter ' dentro de tu cadena
> (por ejemplo para escribir: Macdonald's) necesitas "escapar" el
> significado normal del caracter ' asi que pondrias algo como
> Macdonald\'s asi al ver el \ postgres sabe que el siguiente caracter
> debe ser tomado literalmente y no como un delimitador de cadena...
>
> en este caso tu quieres "escapar" el significado normal del caracter \
> (su significado normal es caracter de escape) asi que tienes que usar
> el caracter \ para que el siguiente se considere un caracter ordinario
> y asi terminas poniendo: \\
>
> --
> Jaime Casanova         www.2ndQuadrant.com
> Professional PostgreSQL: Soporte y capacitación de PostgreSQL
>

Responder a