From: | viernes <v13rn35(at)gmail(dot)com> |
---|---|
To: | Jaime Casanova <systemguards(at)yahoo(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:13:09 |
Message-ID: | 67f22d2704122708137940ce23@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-es-ayuda |
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');
On Sat, 25 Dec 2004 11:07:30 -0600 (CST), Jaime Casanova
<systemguards(at)yahoo(dot)com> wrote:
> --- viernes <v13rn35(at)gmail(dot)com> escribió:
> >
> > Soy nuevo en la lista asi que antes un saludo
> > cordial a todos
>
> Saludos, sientete bienvenido.
>
> >
> > Tengo problemas con funciones pl/pgsql, resulta que
> > cuando son grandes (mas de 6 lineas) me ignora
> > sentencias de DELETE o UPDATE sin mandar
> > errores ni warning ni nada o aveces jalan aveces no.
>
> No, esas cosas no pasan. Probablemente estas haciendo
> algo mal en los deletes o updates. Para poder ayudarte
> seria bueno que pasaras las sentencias que dices no se
> ejecutan para verlas.
>
> >
> > otra es que no puedo hacer siempre insert asi
> > insert into mitabla (campo1, campo2) values ($2,$3);
> >
> > porque me manda error en $1
> > pero si lo hago insert into mitabla values ($2,$3);
> > si funciona.
>
> estas seguro que escribistes bien los nombres de los
> campos? Otra vez te dire eso no ocurre.
>
> >
> > Estoy usando postgres 7.4.6 y 8 rc1
> >
>
> Especialmente si estas usando la ultima version
> oficial, y tampoco en la version 8rc1 (aunque aun es
> beta lo he usado y se que esa parte funciona de
> maravilla).
>
> > gracias
> >
>
> De nada. Recuerda pasar la funcion o las sentencias
> que no te estan funcionando para ayudarte a
> corregirlas.
>
> Atentamente,
> Jaime Casanova
>
> PD: envia la respuesta a la lista para que otros te
> puedan ayudar, no cometas el error de enviarlo solo a
> mi correo.
>
> _________________________________________________________
> 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
>
From | Date | Subject | |
---|---|---|---|
Next Message | Jaime Casanova | 2004-12-27 16:57:45 | Re: ingnora delete y error en insert usando ingnora delete y error en insert usando pl/pgsql |
Previous Message | Eduardo A. Diaz Fuentes | 2004-12-27 15:59:17 |