Hi list,

i tried a bit with errorhandling and found the following :
(i want to ignore the dublicate key exception)


CREATE OR REPLACE FUNCTION test() RETURNS VARCHAR AS' BEGIN BEGIN INSERT INTO table a dublicate key (primary); EXCEPTION WHEN OTHERS THEN ROLLBACK; END; RETURN ''test''; END'LANGUAGE plpgsql;


will result in

ERROR:  SPI_prepare failed for "ROLLBACK": SPI_ERROR_TRANSACTION

I noticed the right syntax would be (works fine)

CREATE OR REPLACE FUNCTION test() RETURNS VARCHAR AS'
BEGIN
 BEGIN
  INSERT INTO table a dublicate key (primary);
 EXCEPTION
  WHEN OTHERS THEN
 END;
 RETURN ''test'';
END'LANGUAGE plpgsql;


Just a hint

Regards Daniel

---------------------------(end of broadcast)---------------------------
TIP 8: explain analyze is your friend

Reply via email to