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

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

In response to

Responses

Browse pgsql-es-ayuda by date

  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