postgresql – ERROR:查询没有结果数据的目的地
发布时间:2020-12-13 16:32:01 所属栏目:百科 来源:网络整理
导读: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'; 当我执行上面的
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 _chkLogin('username','abcd');
建议我应该怎么做才能克服这个错误.
你确实返回通过,但是你永远不会为它赋值.
并且在函数内选择命令必须有放置数据的位置. 所以.将您的SQL更改为: SELECT (_password = $2) INTO passed FROM _vRegistration WHERE _userid = $1; 另外 – 由于您使用变量名(userid,pwd)使用它们: SELECT (_password = pwd) INTO passed FROM _vRegistration WHERE _userid = userid; (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |