错误:查询没有结果数据的目的地 [英] ERROR: query has no destination for result data

查看:86
本文介绍了错误:查询没有结果数据的目的地的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

CREATE OR REPLACE FUNCTION _chkLogin(userid varchar, pwd varchar)
RETURNS BOOLEAN AS
$BODY$
DECLARE 
 passed BOOLEAN;
BEGIN
 SELECT  (_password = $2) FROM _vRegistration WHERE _userid = $1;
 RETURN passed;
END;
$BODY$
LANGUAGE 'plpgsql';

执行上面的代码时出现以下错误,

When am executing the code above am getting the following error,

SELECT _chkLogin('username','abcd') as passed;

错误:查询没有目的地 结果数据

ERROR: query has no destination for result data

我曾经使用表演,然后遇到了另一个问题,

I've used perform then i get a different problem,

PERFORM _chkLogin('username','abcd');

错误:语法错误在或附近 表现"

ERROR: syntax error at or near "perform"

建议我要怎么做才能克服此错误.

Suggest me what should I be doing in order to overcome this error.

推荐答案

您确实返回已通过,但您从不为它分配值.

You do return passed but you never assign value to it.

该函数中的select命令必须有放置数据的位置.

And select command within the function has to have place to put data to.

所以.将您的SQL更改为:

So. Change your SQL to:

SELECT  (_password = $2) INTO passed FROM _vRegistration WHERE _userid = $1;

而且-由于您使用变量名(用户名,密码),因此请使用它们:

Also - since you're using names for variables (userid, pwd) use them:

SELECT  (_password = pwd) INTO passed FROM _vRegistration WHERE _userid = userid;

这篇关于错误:查询没有结果数据的目的地的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆