Campos text y caracteres de escape

From: Sebastián Villalba <sebastian(at)fcm(dot)unc(dot)edu(dot)ar>
To: "Lista Ayuda Pgsql" <pgsql-es-ayuda(at)postgresql(dot)org>
Subject: Campos text y caracteres de escape
Date: 2007-08-29 01:23:56
Message-ID: 20070829000045.M54850@fcm.unc.edu.ar
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

Hola a todos. ¿Hay forma de que Postgres no me cuente los caracteres de escape
al momento de hacer una inserción?.

Ej.:

Un campo "resumen" de tipo text de una tabla "A", puede estar limitado por un
valor "limite" de tipo int, por ejemplo "limite=6" de una tabla "B".

Si quiero insertar el string "Hola" me lo debería permitir, pero al momento de
insertarlo, tengo que hacer:

INSERT INTO "A"(resumen) VALUES ('\"Hola\"');

Al poner los caracteres de escape, una cadena de 6 caracteres se transforma en
una de 8.

Yo tengo una función (en plpgsql) que hace algo como (en pseudocódigo):

SELECT limite INTO cantidad FROM "B";
IF (cantidad >= (SELECT char_length($1)) THEN
hago el insert
ELSE
RAISE NOTICE...

Donde $1 es el texto a insertar. En el ejemplo nunca hace la inserción aunque
la cantidad de caracteres esté dentro del límite.

También, si "resumen" tuviera mas de un renglón, me inserta caracteres (no
imprimibles '\r') de fin de línea, pero también éstos caracteres son contados
por la función "char_length". Algún consejo?. Un cordial saludo a todos...

p/d: Utilizo Pg 8.2.4 en Debian.
-
-------------------------------------------
Sebastián Villalba
sebastian(at)fcm(dot)unc(dot)edu(dot)ar
-------------------------------------------

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Agustin Casiva 2007-08-29 04:32:49 OT - Lenguajes y otras yerbas (Progesql - vfp)
Previous Message Gabriel Hermes Colina Zambra 2007-08-29 00:34:48 Re: Progesql - vfp