[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