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

From: viernes <v13rn35(at)gmail(dot)com>
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-28 17:28:54
Message-ID: 67f22d2704122809282405b2cd@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

Saludos y feliz año

Gracias a todos, el problema heran los nombres, jeje no imaginaba que
se hacia pelotas con las myusculas y minusculas, ya empezamos a
actualizar todos teniamos ya echos como 20.

Gracias

On Mon, 27 Dec 2004 20:37:45 +0100, Oswaldo Hernández
<oswaldo(at)soft-com(dot)es> wrote:
> 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.
>
> No virus found in this outgoing message.
> Checked by AVG Anti-Virus.
> Version: 7.0.298 / Virus Database: 265.6.5 - Release Date: 26/12/2004
>
> El presente correo ha sido analizado por la plataforma Soluciones ADSL
> y se encuentra libre de virus.
>
>
>
> ---------------------------(end of broadcast)---------------------------
> TIP 4: No hagas 'kill -9' a postmaster
>
>
>
>

In response to

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Rodrigo Perez 2004-12-28 19:47:43 Re: Quien lo diría ....
Previous Message Jonathan Gonzalez V. 2004-12-28 16:40:10 Re: Quien lo diría ....