Обсуждение: Cursor declaration

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

Cursor declaration

От
Nigel Horne
Дата:
How do I declare a cursor in a stored procedure if that cursor contains
a WHERE which depends on the argument given to that stored procedure?

I can't get passed this message:

'Cannot mix placeholder styles "$1" and ":foo"'

The message doesn't give a useful line number, so I don't even know
which
line it's complaining about.

-Nigel


Re: Cursor declaration

От
Richard Huxton
Дата:
Nigel Horne wrote:
> How do I declare a cursor in a stored procedure if that cursor contains
> a WHERE which depends on the argument given to that stored procedure?
>
> I can't get passed this message:
>
> 'Cannot mix placeholder styles "$1" and ":foo"'
>
> The message doesn't give a useful line number, so I don't even know
> which
> line it's complaining about.

Difficult to say - perhaps the source of the function would help. You
don't actually mention what language you're using even.

However, I'd look for anywhere you're using ":varname" since that isn't
valid plpgsql.

Then, I'd look at the OPEN ... CURSOR ... EXECUTE form of cursor opening
  (see manuals for details).
--
   Richard Huxton
   Archonet Ltd

Re: Cursor declaration

От
Tom Lane
Дата:
Nigel Horne <njh@bandsman.co.uk> writes:
> I can't get passed this message:
> 'Cannot mix placeholder styles "$1" and ":foo"'

There's no such message anywhere in the Postgres sources.  I suppose it
must be coming from whatever client-side library you are using (which
you didn't say).

            regards, tom lane