Re: ERROR EN COMPILACION FUNCTION

From: "Fabio Arias" <fharias(at)gmail(dot)com>
To: Postgres <pgsql-es-ayuda(at)postgresql(dot)org>
Subject: Re: ERROR EN COMPILACION FUNCTION
Date: 2008-07-11 20:51:27
Message-ID: c1d7f0f90807111351h54a6acfet8cd94c221928c10f@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

Tambien como hago para ejecutarla desde PHP gracias! :D

El día 11 de julio de 2008 15:49, Fabio Arias <fharias(at)gmail(dot)com> escribió:

> Muy buenas tardes muchachos ya logre compilar la FUNCTIOn y crearla pero no
> se como la puede ejecutar, alguno de uds me puede ayudar???
>
> 2008/7/11 Fabio Arias <fharias(at)gmail(dot)com>:
>
> Muy buenos dias muchachos, estoy empezando con la creacion de funciones y
>> tengo este error y no se por que es?
>>
>> Si me pueden dar una mano para mejorarlo les agradecere mucho....
>>
>> === psql 1 ===
>> psql:129: ERROR: syntax error at end of input
>> LINEA 1: SELECT
>>
>> ########################################################################
>> CREATE FUNCTION ANULAR_APUESTA(IDTRANSACCION INTEGER, COLILLA VARCHAR,
>> ACEPTACION_AEL VARCHAR, IDUSUARIO_REG VARCHAR) RETURNS INTEGER AS $$
>> DECLARE
>> USUARIO "TSO"."USUARIO"%ROWTYPE;
>> CUENTAUSUARIO "TSO"."CUENTA"%ROWTYPE;
>> DISTRIBUIDOR "TSO"."CLIENTE"%ROWTYPE;
>> CUENTADISTRIBUIDOR "TSO"."CUENTA"%ROWTYPE;
>> PUNTODEVENTA "TSO"."CLIENTE"%ROWTYPE;
>> TRANSACCION "TSO"."TRANSACCION"%ROWTYPE;
>> SALDOFINAL NUMERIC(10,2);
>> SALDOCOMISION NUMERIC(10,2);
>> COMISIONPRODUCTODIS "TSO"."COMISION"%ROWTYPE;
>> COMISIONPRODUCTOPDV "TSO"."COMISION"%ROWTYPE;
>> COMISION NUMERIC(10,2);
>> VALORCOMISION NUMERIC(10,2);
>> IDTRANSACCION_ANULACION INTEGER;
>> IDNOVEDAD INTEGER;
>> BEGIN
>> -- CONSULTAR TRANSACCION
>> SELECT * INTO TRANSACCION FROM "TSO"."TRANSACCION" WHERE
>> "TRAN_ID"=IDTRANSACCION;
>> IF NOT FOUND THEN
>> RAISE EXCEPTION 'NO EXISTE TRANSACCION %',IDTRANSACCION;
>> RETURN;
>> END IF;
>> -- BUSCAR USUARIO DE TRANSACCION
>> SELECT * INTO USUARIO FROM "TSO"."USUARIO" WHERE
>> "USUA_ID"=TRANSACCION."USUA_ID";
>> IF NOT FOUND THEN
>> RAISE EXCEPTION 'NO EXISTE USUARIO DE TRANSACCION
>> %',IDTRANSACCION;
>> RETURN;
>> END IF;
>> SELECT * INTO CUENTAUSUARIO FROM "TSO"."CUENTA" WHERE
>> USUARIO."CUEN_ID";
>> IF NOT FOUND THEN
>> RAISE EXCEPTION 'NO EXISTE CUENTA PARA USUARIO
>> %',USUARIO."USUA_ID";
>> RETURN;
>> END IF;
>> SELECT * INTO PUNTODEVENTA FROM "TSO"."CLIENTE" WHERE
>> "CLIE_ID"=USUARIO."CLIE_ID";
>> IF NOT FOUND THEN
>> RAISE EXCEPTION 'NO EXISTE PUNTO DE VENTA PARA USUARIO
>> %',USUARIO."USUA_ID";
>> RETURN;
>> END IF;
>> SELECT * INTO DISTRIBUIDOR FROM "TSO"."CLIENTE" WHERE
>> "CLIE_ID"=PUNTODEVENTA."CLIE_PADRE";
>> IF NOT FOUND THEN
>> RAISE EXCEPTION 'NO EXISTE DISTRIBUIDOR PARA PUNTO DE VENTA
>> %',PUNTODEVENTA."CLIE_ID";
>> RETURN;
>> END IF;
>> SELECT * INTO CUENTADISTRIBUIDOR FROM "TSO"."CUENTA" WHERE
>> "CUEN_ID"=DISTRIBUIDOR."CUEN_ID";
>> IF NOT FOUND THEN
>> RAISE EXCEPTION 'NO EXISTE CUENTA PARA DISTRIBUIDOR
>> %',DISTRIBUIDOR."CLIE_ID";
>> RETURN;
>> END IF;
>>
>> -- INSERTAR MOVIMIENTO DE REVERSO DE VENTA
>> SALDOFINAL := CUENTAUSUARIO."CUEN_SALDO"+TRANSACCION."TRAN_VALOR";
>>
>> INSERT INTO "TSO"."MOVIMIENTOSCUENTA" (
>> "CUEN_ID","TRAN_ID","TIMC_ID","MOCU_FECHAMOVIMIENTO",
>> "MOCU_SOBREGIROACTUAL", "MOCU_SALDOACTUAL",
>> "MOCU_SOBREGIRO","MOCU_SALDO", "MOCU_REGISTRADOPOR", "MOCU_VALOR")
>> VALUES(
>> CUENTAUSUARIO."CUEN_ID",IDTRANSACCION,13,now(),
>> 0,SALDOFINAL,
>>
>> CUENTAUSUARIO."CUEN_SOBREGIRO",CUENTAUSUARIO."CUEN_SALDO",IDUSUARIO_REG,TRANSACCION."TRAN_VALOR");
>>
>> -- ACTUALIZAR EL SALDO DEL USUARIO
>> UPDATE "TSO"."CUENTA" SET
>> "CUEN_SALDO"="CUEN_SALDO"+TRANSACCION."TRAN_VALOR"
>> WHERE "CUEN_ID"=CUENTAUSUARIO."CUEN_ID";
>>
>> -- BUSCAR COMISION LINEAL PDV
>> SELECT * INTO COMISIONPRODUCTOPDV FROM "TSO"."COMISION" WHERE
>> "USUA_ID"=USUARIO."USUA_ID" AND "PROD_ID"=TRANSACCION."PROD_ID"
>> AND "TICO_ID"=2;
>> IF NOT FOUND THEN
>> COMISION := 0;
>> ELSE
>> COMISION := COMISIONPRODUCTOPDV."COMI_VALOR";
>> END IF;
>> VALORCOMISION := TRANSACCION."TRAN_VALOR"*(COMISION/100);
>> SALDOCOMISION := SALDOFINAL;
>> SALDOFINAL := SALDOFINAL-VALORCOMISION;
>> -- INSERTAR MOVIMIENTO DE REVERSO DE COMISION
>> INSERT INTO "TSO"."MOVIMIENTOSCUENTA" (
>> "CUEN_ID","TRAN_ID","TIMC_ID","MOCU_FECHAMOVIMIENTO",
>> "MOCU_SOBREGIROACTUAL", "MOCU_SALDOACTUAL",
>> "MOCU_SOBREGIRO","MOCU_SALDO", "MOCU_REGISTRADOPOR", "MOCU_VALOR")
>> VALUES(
>> CUENTAUSUARIO."CUEN_ID",IDTRANSACCION,14,now(),
>> 0,SALDOFINAL,
>>
>> CUENTAUSUARIO."CUEN_SOBREGIRO",SALDOCOMISION,IDUSUARIO_REG,VALORCOMISION);
>> -- ACTUALIZAR EL SALDO DEL USUARIO
>> UPDATE "TSO"."CUENTA" SET "CUEN_SALDO"="CUEN_SALDO"-VALORCOMISION
>> WHERE "CUEN_ID"=CUENTAUSUARIO."CUEN_ID";
>>
>> -- BUSCAR COMISION LINEAL DIS
>> SELECT * INTO COMISIONPRODUCTODIS FROM "TSO"."COMISION" WHERE
>> "CLIE_ID"=DISTRIBUIDOR."CLIE_ID" AND "PROD_ID"=TRANSACCION."PROD_ID"
>> AND "TICO_ID"=3;
>> IF NOT FOUND THEN
>> COMISION := 0;
>> ELSE
>> COMISION := COMISIONPRODUCTODIS."COMI_VALOR";
>> END IF;
>> VALORCOMISION := TRANSACCION."TRAN_VALOR"*(COMISION/100);
>> SALDOFINAL := CUENTADISTRIBUIDOR."CUEN_SALDO"-VALORCOMISION;
>> -- INSERTAR REVERSO COMISION DE DISTRIBUIDOR
>> INSERT INTO "TSO"."MOVIMIENTOSCUENTA" (
>> "CUEN_ID","TRAN_ID","TIMC_ID","MOCU_FECHAMOVIMIENTO",
>> "MOCU_SOBREGIROACTUAL", "MOCU_SALDOACTUAL",
>> "MOCU_SOBREGIRO","MOCU_SALDO", "MOCU_REGISTRADOPOR", "MOCU_VALOR")
>> VALUES(
>> CUENTADISTRIBUIDOR."CUEN_ID",IDTRANSACCION,15,now(),
>> 0,SALDOFINAL,
>>
>> CUENTADISTRIBUIDOR."CUEN_SOBREGIRO",CUENTADISTRIBUIDOR."CUEN_SALDO",IDUSUARIO_REG,VALORCOMISION);
>> -- ACTUALIZAR SALDO DE DISTRIBUIDOR
>> UPDATE "TSO"."CUENTA" SET "CUEN_SALDO"="CUEN_SALDO"-VALORCOMISION
>> WHERE "CUEN_ID"=CUENTADISTRIBUIDOR."CUEN_ID";
>> --- TERMINADO EL ANULADO
>> --- CREAR TRANSACCION DE ANULACION
>> INSERT INTO "TSO"."TRANSACCION" (
>> "TITR_ID", "PROD_ID", "USUA_ID", "TRAN_FECHA", "TRAN_VALOR",
>> "TRAN_ESTADO", "TRAN_REGISTRADOPOR")
>> VALUES (32, 2, IDUSUARIO_REG, now(), TRANSACCION."TRAN_VALOR", '1',
>> IDUSUARIO_REG);
>> SELECT currval('"TSO"."TRANSACCION_TRAN_ID_seq"') INTO
>> IDTRANSACCION_ANULACION;
>>
>> -- INSERTAR NOVEDAD DE TRANSACCION
>> INSERT INTO "TSO"."NOVEDADTRANSACCION"(
>> "NOVE_ID", "TRAN_ID", "NOTR_IDTRANSACCION", "NOTR_OBSERVACION",
>> "NOTR_REGISTRADOPOR")
>> VALUES (5, IDTRANSACCIONANULACION, IDTRANSACCION, ACEPTACION_AEL,
>> IDUSUARIO_REG);
>> SELECT currval('"TSO"."NOVEDADTRANSACCION_NOTR_ID_seq"') INTO
>> IDNOVEDAD;
>> RETURN IDNOVEDAD;
>> END;
>> $$ LANGUAGE plpgsql;
>> ########################################################################
>>
>> --
>> Fabio Hernando Arias Vera
>> Cel. 314 411 7776
>
>
>
>
> --
> Fabio Hernando Arias Vera
> Cel. 314 411 7776
>

--
Fabio Hernando Arias Vera
Cel. 314 411 7776

In response to

Responses

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Juan Manuel Fernandez 2008-07-11 21:20:09 Re: ERROR EN COMPILACION FUNCTION
Previous Message Fabio Arias 2008-07-11 20:49:16 Re: ERROR EN COMPILACION FUNCTION