Cursor declaration

Started by Nigel Horneover 20 years ago3 messagesgeneral
Jump to latest
#1Nigel Horne
njh@bandsman.co.uk

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

#2Richard Huxton
dev@archonet.com
In reply to: Nigel Horne (#1)
Re: Cursor declaration

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

#3Tom Lane
tgl@sss.pgh.pa.us
In reply to: Nigel Horne (#1)
Re: Cursor declaration

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