[pgsql-ayuda] Funciones SQL + oferta de chamba (local, cd. de =?iso-8859-1?Q?m=E9xico?=)

Jesus Aneiros aneiros@jagua.cfg.sld.cu
Thu, 13 Jul 2000 13:14:15 -0400 (EDT)


Ruben voy a tratar de ayudarte.

On Wed, 12 Jul 2000, Rubén 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ño!, 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@tlali.iztacala.unam.mx
text   : unsubscribe pgsql-ayuda