Hola José: El vie., 31 de may. de 2019 a la(s) 06:10, José Vicente Zahonero García ( joviz...@hotmail.com) 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; > hora := cast(substring(tempo from 1 for 2)); > minuto := cast(substring(tempo from 4 for 2)); > segundo := cast(substring(tempo from 7 for 2)); > 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 $$ > CREATE OR REPLACE FUNCTION public.inserciones(trayecto character varying, tempo character varying, espacio numeric) RETURNS void LANGUAGE plpgsql AS $function$ declare spaces integer; hora integer; minuto integer; segundo integer; resultado real; tiempo_en_minutos real; calorias real; begin spaces := espacio*1000; hora := cast(substring(tempo from 1 for 2) as integer); minuto := cast(substring(tempo from 4 for 2) as integer); segundo := cast(substring(tempo from 7 for 2) as integer); 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 $function$; Saludos