Postgre SQL PostgreSQL

postgres=#
postgres=# -- Name: "raise_test" () Type: FUNCTION Owner: postgres
postgres=# CREATE FUNCTION "raise_test" () RETURNS integer AS '
postgres'#   DECLARE
postgres'#
postgres'#      -- Declare an integer variable for testing.
postgres'#
postgres'#     an_integer INTEGER = 1;
postgres'#
postgres'#   BEGIN
postgres'#
postgres'#      -- Raise a debug level message.
postgres'#
postgres'#     RAISE DEBUG ''The raise_test() function began.'';
postgres'#
postgres'#     an_integer = an_integer + 1;
postgres'#
postgres'#      -- Raise a notice stating that the an_integer
postgres'#      -- variable was changed, then raise another notice
postgres'#      -- stating its new value.
postgres'#
postgres'#     RAISE NOTICE ''Variable an_integer was changed.'';
postgres'#     RAISE NOTICE ''Variable an_integer value is now %.'',an_integer;
postgres'#
postgres'#      -- Raise an exception.
postgres'#
postgres'#     RAISE EXCEPTION ''Variable % changed.  Aborting transaction.'',an_integer;
postgres'#
postgres'#   END;
postgres'# ' LANGUAGE 'plpgsql';
CREATE FUNCTION
postgres=#
postgres=# select raise_test();
NOTICE:  Variable an_integer was changed.
NOTICE:  Variable an_integer value is now 2.
ERROR:  Variable 2 changed.  Aborting transaction.
postgres=#
postgres=#