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';
当我执行上面的代码时出现以下错误,
SELECT _chkLogin('username','abcd') as passed;
错误:查询没有目标
结果数据
我使用了 Perform 然后我遇到了一个不同的问题,
PERFORM _chkLogin('username','abcd');
错误:语法错误位于或附近
“履行”
建议我应该做什么才能克服这个错误。
你确实返回通过了,但是你never为其赋值。
并且函数中的选择命令必须有放置数据的地方。
所以。将 SQL 更改为:
SELECT (_password = $2) INTO passed FROM _vRegistration WHERE _userid = $1;
另外 - 因为您使用变量名称(userid、pwd)use them:
SELECT (_password = pwd) INTO passed FROM _vRegistration WHERE _userid = userid;
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)