From: | Jesus Aneiros <aneiros(at)jagua(dot)cfg(dot)sld(dot)cu> |
---|---|
To: | pgsql-ayuda(at)tlali(dot)iztacala(dot)unam(dot)mx |
Subject: | Re: [pgsql-ayuda] Funciones SQL + oferta de chamba (local, cd. de =?iso-8859-1?Q?m=E9xico?=) |
Date: | 2000-07-13 17:14:15 |
Message-ID: | Pine.LNX.4.10.10007131306320.20053-100000@jagua.cfg.sld.cu |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-es-ayuda |
Ruben voy a tratar de ayudarte.
On Wed, 12 Jul 2000, Rub� Marrero wrote:
> insert into table a values('ABC','qwerty');
Aqui es insert into a (sobra el table)
> create function up_date(text,text) returns a as '
> update a set dos=''$2'' where uno=''$1'';
> select * from a' as 'SQL';
> select up_date('ABC','el nuevo valor');
>
> y en lugar de regresarme un registro con el campo dos cambiado, me
> regresa un numero extra�!, no coincide con el oid del registro y
> evidentemente no cambia nada, cuando le doy select * from a, solo me da
> el valor original.
Debe ser dos = $2 y no ''$2'', lo mismo con el $1.
Lo otro es que no puedes retornar tipos compuestos sin manejarlos como
sencillos. Fijate que estas retornando todos los registros de a. Prueba
CREATE FUNCTION up_date(TEXT, TEXT)
RETURNS OID
AS 'UPDATE abc SET dos = $2 WHERE uno = $1;
SELECT OID FROM abc WHERE dos = $2;'
LANGUAGE 'SQL';
Te retornara el OID del registro actualizado (claro partiendo que hay uno
solo que cumple la condicion del where.
Saludos, Jesus.
--------- Pie de mensaje -------------------------------------------
Archivo historico: http://tlali.iztacala.unam.mx/maillist/pgsql-ayuda
Cancelar inscripcion:
mail to: majordomo(at)tlali(dot)iztacala(dot)unam(dot)mx
text : unsubscribe pgsql-ayuda
From | Date | Subject | |
---|---|---|---|
Next Message | Jesus Aneiros | 2000-07-13 19:12:24 | Re: [pgsql-ayuda] Campo autonumerico. |
Previous Message | Bolo Lacertus | 2000-07-13 17:01:36 | Re: [pgsql-ayuda] Funciones SQL + oferta de chamba (local, cd. de =?iso-8859-1?Q?m=E9xico?=) |