我编写了一个包含while语句的PostgreSQL函数,如:
WHILE id_exist == 'f' LOOP
lotto_id = lotto_id + 1;
id_exist = check_if_exist(lotto_id, 'lotto', 'id');
END LOOP;
其中id_exist
是一个布尔变量,通过调用返回布尔值的check_if_exist()
方法(在代码中使用)来初始化。
现在,当我尝试调用我的函数时,我收到此错误
ERROR: operator does not exist: boolean == unknown
LINE 1: SELECT id_exist == 'f'
^
HINT: No operator matches the given name and argument type(s). You might need to add
explicit type casts.
QUERY: SELECT id_exist == 'f'
CONTEXT: PL/pgSQL function "acquistolotto" line 11 at WHILE
答案 0 :(得分:1)
比较运算符是单个等号(“=”,而不是“==”)
另外,在进入循环之前是否将值设置为id_exist?