Eu vou postar minha função aqui pra ficar mais claro:
CREATE OR REPLACE FUNCTION filtro_de_velocidade()
RETURNS void AS $$
DECLARE
diameter INTEGER;
codigosArena RECORD;
tempogasto RECORD;
data_hora time;
velocidade RECORD;
c INTEGER;
b INTEGER;
a INTEGER;
x INTEGER;
resultado RECORD;
BEGIN
SELECT current_time;
/*pega a hora/data corrente do servidor*/
data_hora := current_date;
/* insere em hora a hora/data corrente do servidor */
SELECT to_String(data_hora, 'yyyy-mm-dd, HH24:MI.SS');
/* converte hora para o formato especificado*/
SELECT INTO codigosArena cd_veiculo_arena from t_veiculo;
/*
codigosArena recebe cd_veiculo_arena da
tabela t_veiculo
codigosArena := cd_veiculo_arena
*/
SELECT INTO resultado * from dado_lido where vei_id = codigosArena;
/*
resultado recebe todos os dados da
tabela dado_lido.
onde vei_id(PK) é igual a
codigoArena(cd_veiculo(FK))
*/
diameter := 0;
WHILE resultado AND resultado.ddl_dh >= data_hora
LOOP
diameter := 12742000;
c := 90 - (resultado.ddl.lat[0]);
b := 90 - (resultado.ddl.lat[1]);
a := resultado.ddl.lat[0] - (resultado.ddl.lat[1]);
x := acos((cos(b) * cos(c)) + (sin(b) * sin(c) * cos(a)));
x := (PI * diameter * x) / 360;
tempogasto := resultado.ddl.lat[1] - resultado.ddl.lat[0];
velocidade := x/tempogasto;
IF (velocidade > 150) THEN
DELETE FROM dado_lido WHERE vei_id = codigosArena AND ddl_dh =
data_hora;
END IF;
END
LOOP;
Como e onde eu devo usar o PERFORM?
Obrigado a todos!
------------------------------------------------------------------------
Em 06/11/07, Dickson Guedes<[EMAIL PROTECTED]> escreveu:
> -----BEGIN PGP SIGNED MESSAGE-----
> Hash: SHA1
>
> geison correia escreveu:
> > (...) Cara olha só a minha função retorna um void
> >
> > CREATE OR REPLACE FUNCTION filtro_de_velocidade() RETURNS void AS
> > $$ . . . RETURN; END; $$ LANGUAGE plpgsql;
> >
> > Como eu devo usar "SELECT filtro_de_velocidade()"?
>
> Geison,
>
> Se sua função retorna void para onde vai o resultado do SELECT? Como o
> próprio aviso da mensagem de erro recomenda não seria o caso de você
> utilizar "PERFORM"?
>
> [ ]s
> Guedes
>
> -----BEGIN PGP SIGNATURE-----
> Version: GnuPG v1.4.2 (GNU/Linux)
> Comment: Using GnuPG with SUSE - http://enigmail.mozdev.org
>
> iD8DBQFHMKe1fNj5A+QkLMoRAuMTAKCagV9/JPIFvjyavZGxb5ex8WK5BACg506I
> ySJDy7k14WsmcDGq6p4YHWg=
> =zsrQ
> -----END PGP SIGNATURE-----
>
> _______________________________________________
> pgbr-geral mailing list
> [email protected]
> https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
>
_______________________________________________
pgbr-geral mailing list
[email protected]
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral