Re: Fallo en función

From: Martin Marques <martin(dot)marques(at)2ndquadrant(dot)com>
To: José Vicente Zahonero García <jovizaga(at)hotmail(dot)com>, "pgsql-es-ayuda(at)postgresql(dot)org" <pgsql-es-ayuda(at)postgresql(dot)org>
Subject: Re: Fallo en función
Date: 2019-05-31 11:24:16
Message-ID: 6ae78cc6-a42d-69f0-85ce-711c656287eb@2ndquadrant.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

El 31/5/19 a las 08:10, José Vicente Zahonero García escribió:
> Hola, tengo esta función:
> CREATE OR REPLACE FUNCTION inserciones(trayecto varchar, tempo varchar, espacio numeric)
> returns void AS $$
>
> declare
>
> spaces integer;
> hora integer;
> minuto integer;
> segundo integer;
> resultado real;
> tiempo_en_minutos real;
> calorias real;
>
>
> begin
>
> spaces := espacio*1000;

spaces es entero, y espacio numerico. Aunque multipliques por 1000,
tener que hacer un cast a entero.

> hora := cast(substring(tempo from 1 for 2));
> minuto := cast(substring(tempo from 4 for 2));
> segundo := cast(substring(tempo from 7 for 2));

Estas usando mal la funcion cast. Imagino que la idea es hacer un cast a
entero.

https://www.postgresql.org/docs/current/sql-createcast.html

> hora := hora*3600;
> minuto := minuto*60> resultado := ((spaces/(hora+minuto+segundo))*3.6);
> tiempo_en_minutos := ((hora+minuto+segundo)/60);
> calorias := (70*0.21)*tiempo_en_minutos;
>
> insert into datos (recorrido,tiempo,distancia,calorias,kmh,fecha) values (trayecto,tempo,spaces,calorias,resultado,current_date);
>
> end;
> $$ language 'plpgsql';
> Al ejecutarla me da el error:
> Unterminated dollar quote started at position 0 in SQL $$ language 'plpgsql';. Expected terminating $$

Habrás pegado mal la funcion porque a mi no me da ese error. Si me da
error en los cast() de arriba en los que no estas especificando el tipo
al que debe convertirse el valor.

--
Martín Marqués http://www.2ndQuadrant.com/
PostgreSQL Development, 24x7 Support, Training & Services

In response to

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message José Vicente Zahonero García 2019-05-31 15:22:25 Transformar un procedimiento Firebird a PostgreSQL
Previous Message Daymel Bonne 2019-05-31 11:21:29 Re: Fallo en función