技術のメモ箱

PostgreSQL/CREATE PROCEDURE

CRERATE PROCEDURE文

ポイント
・EXCEPTIONがあるブロック内ではコミットができない。

CREATE OR REPLACE PROCEDURE proc1()
LANGUAGE plpgsql
AS $$
BEGIN
  BEGIN
    INSERT INTO test1 VALUES ('USER001', '20020813', '1', '100', 'test record'));

  EXCEPTION
    WHEN OTHERS THEN
      RAISE INFO 'SQLSTATE = %', SQLSTATE;
      RAISE INFO 'SQLERRM = %', SQLERRM;
    RETURN;
  END;
END;
$$;

呼び出し方

CALL proc1();
pagetop