Postgresql 错误:查询没有结果数据的目标
当我执行上面的代码时,我得到以下错误Postgresql 错误:查询没有结果数据的目标,postgresql,plpgsql,Postgresql,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 'plp
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;
错误:在或附近出现语法错误
“表演”
建议我如何克服此错误。您确实返回passed,但从未为其赋值 函数中的select命令必须有放置数据的位置 所以。将SQL更改为:
PERFORM _chkLogin('username','abcd');
另外-由于您正在使用变量名(userid,pwd)使用它们:
SELECT (_password = $2) INTO passed FROM _vRegistration WHERE _userid = $1;
关于赋值的注记
(见附件)
语言PLpgSQL语法有多种表达方式:
SELECT (_password = pwd) INTO passed FROM _vRegistration WHERE _userid = userid;
EXECUTE
子句仅用于“动态执行”(性能较差)
使用Y:=f(X)代码>或选择
执行静态声明
EXECUTE 'f(X)' INTO Y;
放弃结果或处理无效返回时使用station:
SELECT f(X) INTO Y;
SELECT f(X) INTO Y;
PERFORM f(X);