PostgreSQL带参数的游标

3
作为文档这里所描述的,我需要在OPEN时声明一个接受参数的游标。
我的查询看起来类似于:
DECLARE cur CURSOR (argName character varying) FOR SELECT * FROM "TableName" WHERE "SomeColumn" = argName;
当我这样做时,我得到了一个可爱的错误:
ERROR:  syntax error at or near "("
LINE 1: DECLARE cur CURSOR (argName character varying) FOR SELECT * FROM...
                           ^

似乎PostgreSQL不接受这种形式的游标声明。有解决办法吗?有什么变通方法吗?
谢谢。
3个回答

4

1
我已将您的答案标记为已接受,但我将其更改为Igor的答案,因为您的答案只是指出了我的错误,而他的答案实际上提供了一个解决方法,这正是我所需要的。 - gcontreras

2

尝试像这样:

DECLARE 
  argName varchar;
  cur CURSOR FOR SELECT * FROM "TableName" WHERE "SomeColumn" = argName;

当您使用OPEN打开此游标时,argName将被包含在查询中。


谢谢!看起来很有前途。 - gcontreras
问题: 在将argName更改为新值后,我应该关闭并打开_cur_,对吗? - gcontreras
@gcontreras 是的。当光标被打开时,它不会更改其查询和参数。 - Ihor Romanchenko

0

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接