Retroceder   Foros del Web > Programación para sitios web > Bases de Datos

Respuesta
 
Herramientas Desplegado
Antiguo 24-oct-2005, 09:12   #1 (permalink)
GabiAPF ha deshabilitado el karma
 
Fecha de Ingreso: abril-2005
Mensajes: 49
Pregunta Texto con apóstrofes en plpgsql

Acá estoy de nuevo con una consulta.

Estoy programando un procedimiento interno de una base de datos en plpgsql y necesito armar una consulta dinámicamente (la misma consulta de mi pregunta anterior, pero eso no importa). El tema es que la condición se arma tomando el valor de varios campos:

cond := ''apellido_rsocial=''||''''''''||p_apellido||''''' '''||'' AND calle''||comp_calle||'' AND altura_domicilio''||comp_altura||'' AND piso''||comp_piso||'' AND depto''||comp_depto;

Pero p_apellido y comp_depto son de tipo varchar y text respectivamente, y nada impide que tengan apóstrofes adentro. Si eso sucede, la consulta no se puede efectuar (porque PostgreSQL cree que el valor del campo termina donde está la apóstrofe/comilla simple).

¿Hay alguna manera de convertir estos valores a un formato que no confunda a la base de datos? Si estuviera usando php usaría la función pg_escape_string, pero en plpgsql no se cómo hacer.

Desde ya, muchas gracias.
GabiAPF está desconectado   Responder Citando
Antiguo 24-oct-2005, 09:51   #2 (permalink)
GabiAPF ha deshabilitado el karma
 
Fecha de Ingreso: abril-2005
Mensajes: 49
Mensaje

...Y vuelvo a responderme sola. La función es quote_literal.

Bueno, gracias por el espacio para aclarar mis ideas.
GabiAPF está desconectado   Responder Citando
Respuesta

No hay votos aún.


Herramientas
Desplegado

Normas de Publicación
No puedes crear nuevos temas
No puedes responder temas
No puedes subir archivos adjuntos
No puedes editar tus mensajes

BB code is Activado
Caritas están Activado
[IMG] está Activado
Código HTML está Desactivado


La Zona horaria es GMT -6. Ahora son las 21:22.


Message Board Statistics

LinkBacks Enabled by vBSEO 3.1.0

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93