Skip site navigation (1) Skip section navigation (2)

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 (view raw or flat)
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

pgsql-es-ayuda by date

Next:From: Jaime CasanovaDate: 2004-12-27 17:11:46
Subject: Re: Tipo de datos
Previous:From: viernesDate: 2004-12-27 16:13:09
Subject: Re: ingnora delete y error en insert usando ingnora delete y error en insert usando pl/pgsql

Privacy Policy | About PostgreSQL
Copyright © 1996-2014 The PostgreSQL Global Development Group