执行选择无法编译postgres

时间:2015-03-21 03:33:25

标签: postgresql

我有一些SQL,我想测试某条记录是否存在。我最初尝试过

    perform select  from vote,file 
           where vote.file_id=file.file_id and vote.uid = userId and
                 file.basename=aBase[1];

想要测试是否找到了具有给定uid和basename的项目。编译器在选择时抱怨错误。为了使其编译,我必须声明版本并写:

    select file.basename into version from vote,file ....

有人可以解释为什么执行在这里失败了吗?我有其他看似相同的代码,工作正常。

感谢。

1 个答案:

答案 0 :(得分:0)

从PostGreSQL DOC,SEE http://www.postgresql.org/docs/9.1/static/plpgsql-statements.html

  

注意:有人可能会期望直接编写SELECT会完成   这个结果,但目前唯一可以接受的方法是PERFORM。   将拒绝可以返回行的SQL命令,例如SELECT   除非它有INTO条款,否则为错误。