From: | Jaime Casanova <systemguards(at)yahoo(dot)com> |
---|---|
To: | v13n35(at)gmail(dot)com |
Cc: | 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 16:57:45 |
Message-ID: | 20041227165745.31440.qmail@web50010.mail.yahoo.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-es-ayuda |
--- 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
From | Date | Subject | |
---|---|---|---|
Next Message | Jaime Casanova | 2004-12-27 17:11:46 | Re: Tipo de datos |
Previous Message | viernes | 2004-12-27 16:13:09 | Re: ingnora delete y error en insert usando ingnora delete y error en insert usando pl/pgsql |