0

PostgreSQL 制御構造のページを読み、テストを行うことにしました。

IF 1 = 0 THEN
    INSERT INTO my_table (num_a, num_b)
    VALUES (1, 1);
END IF;

私はinsertステートメントだけをテストしましたが、うまくいきました。しかし、上記のコードを実行すると、次のようpsqlになります。

ERROR:  syntax error at or near "IF" 
LINE 1: END IF;
            ^

それの何が問題なのですか?

4

1 に答える 1

4

あなたのコメントによると、おそらくdoブロックがありません:

http://www.postgresql.org/docs/current/static/sql-do.html

DO $$
BEGIN
  IF 1 = 0 THEN
    INSERT INTO my_table (num_a, num_b)
    VALUES (1, 1);
  END IF;
END;
$$ language plpgsql;

または関数に入れます。

于 2013-06-12T15:15:47.033 に答える