Обсуждение: Using COALESCE nside function

Поиск
Список
Период
Сортировка

Using COALESCE nside function

От
Robert Fitzpatrick
Дата:
Is it possible to use COALESCE function inside a function as a cursor
variable?

test cursor (myvar varchar) for
          (coalesce(SELECT...<snip>,0));

I get a syntax error when trying this...ERROR:  syntax error at or near
"COALESCE"...is there a way to do this?

--
Robert


Re: Using COALESCE nside function

От
"A. Kretschmer"
Дата:
am  Mon, dem 23.07.2007, um 13:58:22 -0400 mailte Robert Fitzpatrick folgendes:
> Is it possible to use COALESCE function inside a function as a cursor
> variable?

Yes, why not?

>
> test cursor (myvar varchar) for
>           (coalesce(SELECT...<snip>,0));

I guess: wrong syntax. Try instead select coalesce(coll,0) from ...


Andreas
--
Andreas Kretschmer
Kontakt:  Heynitz: 035242/47150,   D1: 0160/7141639 (mehr: -> Header)
GnuPG-ID:   0x3FFF606C, privat 0x7F4584DA   http://wwwkeys.de.pgp.net

Re: Using COALESCE nside function

От
Michael Glaesemann
Дата:
On Jul 23, 2007, at 12:58 , Robert Fitzpatrick wrote:

> Is it possible to use COALESCE function inside a function as a cursor
> variable?
>
> test cursor (myvar varchar) for
>           (coalesce(SELECT...<snip>,0));
>
> I get a syntax error when trying this...ERROR:  syntax error at or
> near
> "COALESCE"...is there a way to do this?

I don't know if there's a way to handle this using COALESCE, but
could you do it using something like

SELECT INTO cursor_pos -- rest of query
IF NOT FOUND THEN cursor_pos := 0; END IF;

Note I haven't used cursors before, and I'm assuming you're using PL/
pgSQL.

Michael Glaesemann
grzm seespotcode net