Após o FETCH ou o MOVE você pode usar a variável especial FOUND:

(...)
FETCH seu_cursor INTO sua_var;
IF FOUND THEN
     RAISE NOTICE 'Existem registros';
ELSE
     RAISE NOTICE 'Nenhum registro encontrado'
END IF;
(...)

--
Matheus de Oliveira

Bacharelado em Ciências de Computação
Laboratório de Computação de Alto Desempenho -
LCAD<http://www.lcad.icmc.usp.br/>
Instituto de Ciências Matemáticas e de Computação -
ICMC<http://www.icmc.usp.br/>
Universidade de São Paulo - USP <http://www.sc.usp.br/>




2012/2/14 Moisés P. Sena <moisesps...@gmail.com>

>
>
> Em 14 de fevereiro de 2012 11:56, Euler Taveira de Oliveira <
> eu...@timbira.com> escreveu:
>
> On 14-02-2012 08:05, Moisés P. Sena wrote:
>> > Como faço para conseguir o seguinte resultado em uma PL/PGSQL (sem usar
>> ARRAY):
>> >
>> > a) Selecionar varias linhas e guardar em uma variavel
>> > b) iterar sobre as linhas desta variavel e fazer alguma coisa
>> > b) iterar novamente as linhas desta variavel e fazer alguma outra coisa
>> >
>> Utilize cursor [1]. Não traga os velhos hábitos de linguagens de
>> programação
>> para PLs.
>>
>>
>> [1] http://www.postgresql.org/docs/current/static/plpgsql-cursors.html
>>
>
> Legal!
>
> E para eu saber se este cursor retornou algum registro? tipo, usando array
> eu usaria (array_length(..)), mas eu preciso apenas saber se existe algum
> registro no cursor, tipo isto:
>
> IF ( CURSOR NAO VAZIO )
> THEN
>      RAISE NOTICE 'Existem registros';
> ELSE
>      RAISE NOTICE 'Nenhum registro encontrado'
> END IF;
>
>
> Abraços!
>
> --
> Moisés P. Sena
> (Analista e desenvolvedor de sistemas WEB e mobile)
> http://www.moisespsena.com
> http://linux.moisespsena.com
>
> _______________________________________________
> pgbr-geral mailing list
> pgbr-geral@listas.postgresql.org.br
> https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
>
>
_______________________________________________
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Reply via email to