Re: ingnora delete y error en insert usando ingnora delete y error en insert usando pl/pgsql

From: Oswaldo Hernández <oswaldo(at)soft-com(dot)es>
To: pgsql-es-ayuda(at)postgresql(dot)org
Subject: Re: ingnora delete y error en insert usando ingnora delete y error en insert usando pl/pgsql
Date: 2004-12-27 19:37:45
Message-ID: 41D06489.6090606@soft-com.es
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

Hola,

Todavia no me he puesto a darle fuerte a esto de las funciones, pero
observo que has declarado las variables de la funcion con el mismo
nombre que los campos de la tabla movimientoscxc (la unica diferencia es
la primera letra que esta en mayúscula).

¿Es posible que postgresql este conviertiendo estos nombres de variables
a minúscula y venga por ahi el lio?.

Saludos,

*****************************************
Oswaldo Hernández
Software y Comunicaciones de Levante S.L.
e-mail: soft-com(at)soft-com(dot)es
Villena - Spain
*****************************************

Jaime Casanova escribió:
> --- viernes <v13rn35(at)gmail(dot)com> escribió:
>
>>Ok aqui va uno de los casos
>>
>>
>>CREATE OR REPLACE FUNCTION
>>prDepositosCxc(integer,integer) RETURNS
>>double precision AS '
>>
>>DECLARE Codcxc ALIAS FOR $1;
>>DECLARE Saldo cxc.saldo%TYPE;
>>DECLARE Id ALIAS FOR $2;
>>DECLARE Tipodoc bancos_depositos.tipodoc%TYPE;
>>DECLARE Fecha bancos_depositos.fecha%TYPE;
>>DECLARE Monto
>> bancos_depositos.montoaplicado%TYPE;
>>DECLARE Numdoc bancos_depositos.numdoc%TYPE;
>>DECLARE Total double precision;
>> --
>> -- cursor para la tabla cxc
>> --
>> DECLARE Cxc_Cursor CURSOR FOR
>> SELECT cxc.saldo
>> FROM cxc
>> WHERE cxc.codcxc=Codcxc;
>> --
>> -- cursor para la tabla bancos_depositos
>> --
>> DECLARE Depositos_Cursor CURSOR FOR
>> SELECT
>>
>
> bancos_depositos.tipodoc,bancos_depositos.montoaplicado,bancos_depositos.numdoc,bancos_depositos.fecha
>
>> FROM bancos_depositos
>> WHERE bancos_depositos.id=Id;
>>BEGIN
>>RAISE NOTICE ''BEGIN SQL Procedural
>>prDepositosCxc(integer,integer)'';
>> OPEN Cxc_Cursor;
>> FETCH Cxc_Cursor INTO Saldo;
>> CLOSE Cxc_Cursor;
>> OPEN Depositos_Cursor;
>> FETCH Depositos_Cursor INTO
>>Tipodoc,Monto,Numdoc,Fecha;
>> CLOSE Depositos_Cursor;
>>
>> IF Saldo>Monto THEN
>> Total=Saldo-Monto;
>> END IF;
>> IF Monto=Saldo THEN
>> Total=0;
>> END IF;
>> IF Monto>Saldo THEN
>> Total=0;
>> Monto=Saldo;
>> END IF;
>> RAISE NOTICE ''Total=% '',Total;
>> RAISE NOTICE ''saldo=% '',Saldo;
>> RAISE NOTICE ''montoaplicado=% '',Monto;
>>
>>--- Aqui esta el error
>> INSERT INTO movimientoscxc
>>(tipodoc,monto,numdoc,codcxc,total,fecha) VALUES
>>(Tipodoc,Monto,Numdoc,Codcxc,Total,Fecha);
>>
>>RETURN Total;
>>END;
>>' LANGUAGE plpgsql;
>>
>>
>>Este es el error
>>
>>Error:NOTICE: BEGIN SQL Procedural
>>prDepositosCxc(integer,integer)
>>NOTICE: Total=123192
>>NOTICE: saldo=123213
>>NOTICE: montoaplicado=21
>>ERROR : ERROR: syntax error at or near "$1" at
>>character 30
>>CONTEXT: PL/pgSQL function "prdepositoscxc" line 52
>>at SQL statement
>>SELECT prDepositosCxc('2','5');
>>
>>
>
> Seria util la definicion de la tabla movimientoscxc
>
> Atentamente,
> Jaime Casanova
>
> _________________________________________________________
> Do You Yahoo!?
> Información de Estados Unidos y América Latina, en Yahoo! Noticias.
> Visítanos en http://noticias.espanol.yahoo.com
>
> ---------------------------(end of broadcast)---------------------------
> TIP 5: ¿Has leído nuestro extenso FAQ?
>
> http://www.postgresql.org/docs/faqs/FAQ.html
>

El presente correo ha sido analizado por la plataforma Soluciones ADSL
y se encuentra libre de virus.

Attachment Content-Type Size
oswaldo.vcf text/x-vcard 289 bytes
unknown_filename text/plain 243 bytes

In response to

Responses

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Alvaro Herrera 2004-12-27 19:49:53 Re: Tipo de datos
Previous Message Mario Gonzalez 2004-12-27 19:16:22 Re: almacenamiento de binarios