次のような while ステートメントを含む PostgreSQL 関数を作成しました。
WHILE id_exist == 'f' LOOP
lotto_id = lotto_id + 1;
id_exist = check_if_exist(lotto_id, 'lotto', 'id');
END LOOP;
は、ブール値を返すメソッド ( whileコード内でも使用される) を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