0

次のような 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
4

1 に答える 1

1

比較演算子は単一の等号 (「==」ではなく「=」) です。

また、ループに入る前に id_exist に値を設定しましたか?

于 2013-07-09T17:35:56.893 に答える