Utilizamos cookies propias y de terceros para mejorar la experiencia de navegación, y ofrecer contenidos y publicidad de interés.
Al continuar con la navegación entendemos que se acepta nuestra política de cookies.
Iniciar sesión Cerrar
Correo:
Contraseña:
Entrar
Recordar sesión en este navegador
Iniciar sesiónIniciar sesiónCrear cuentaCrear cuenta

PostgreSQL - Problema en concatenacion de cadena en Postgres

Vista:
Me gusta: Está pregunta es útil y esta clara
0
No me gusta: Está pregunta no esta clara o no es útil
 
Asunto:

Problema en concatenacion de cadena en Postgres

Autor:yeran (2 intervenciones)
Fecha:16/11/2011 15:51:18
Hola a todos
Estoy intentando realizar un Insert dianmico en una funcion en Postgres, para ello voy construyendo la sentencia Insert a medida que recorro un cursor, el problema lo tengo cuando voy a concatenar una cadena. Por ejemplo, la sentencia para insertar seria esta:

cadena = 'Insert into TableA Values (' ;
cadena = cadena || 'variable' ;
cadena = cadena || ') ;

En el emplo anterior variable es el valor dinamico, supongamos que guarda la cadena "Hola mundo" pero si se queda de la forma en que esta en el ejemplo insertara la cadena "variable". Hay alguna forma que me permita concatenar la variable con el apostrofe ' de forma tal que me quede ' Hola mundo ' en la sentencia Insert?
He visto en los foros que se debe escapar el caracter ' , pero igual me sigue dando error. Espero esplicarme bien. Muchas Gracias por cualquier ayuda.
Responder
información
Otras secciones de LWP con contenido similar...
Me gusta: Está respuesta es útil y esta clara
0
No me gusta: Está respuesta no esta clara o no es útil
 
Asunto:

Problema en concatenacion de cadena en Postgres

Autor:yeran (2 intervenciones)
Fecha:16/11/2011 18:57:10
Hola todos
Vuelvo para responderme yo mismo la pregunta. Para concatenar el caracter ' debemos escapar ese caracter de la siguiente manera. Siguiendo el ejemplo del post anterior:

cadena = 'Insert into TableA Values (' ;
cadena = cadena || 'variable' ;
cadena = cadena || ') ;

Concatenando el caracter ' y escapandolo quedaria de esta manera:

cadena = 'Insert into TableA Values (' ;
cadena = cadena || ' \ ' ' || variable || ' \ ' ' ;
cadena = cadena || ') ;
Con el caracter \ damos escape al caracter ', de esta forma en el ejemlo anterior la sentencia insert quedaria de la siguiente forma suponiendo que variable guarda la cadena "Hola mundo":
Insert into TableA Values ( ' Hola mundo ' );

Espero les pueda servir de algo este ejemplo a otros.

Saludos
Comentar