[英]Postgres column does not exist in function
在我的查詢中,我收到如下錯誤消息:
錯誤:列“pw”不存在
LINE 1: SELECT (pw = $2) FROM user ^ QUERY: SELECT (pw = $2) FROM user WHERE user_name = $1
上下文:PL/pgSQL function public.check_password(text,text) line 4 at SQL statement
SQL state: 42703
CREATE OR REPLACE FUNCTION check_password(i VARCHAR, pwd VARCHAR)
RETURNS BOOLEAN AS $$
DECLARE passed Boolean;
BEGIN
SELECT (u.pw = pwd) into passed
From public.user u
where u.user_name = i;
return passed;
END;
$$ LANGUAGE plpgsql;
select check_password('userf','12345');
您的 function 有效,但您可能需要考慮null案例。 演示
CREATE OR REPLACE FUNCTION check_password(i text, pwd text)
RETURNS BOOLEAN AS $$
DECLARE passed Boolean;
BEGIN
SELECT (u.pw = pwd) into passed
From public.user u
where u.user_name = i;
if passed is null then passed := false; end if;
return passed;
END;
$$ LANGUAGE plpgsql;
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.