ejemplo - ¿Cómo ELEVAR un AVISO en PostgreSQL?
insert into postgresql ejemplo (3)
Use un bloque de código anónimo:
DO language plpgsql $$
BEGIN
RAISE NOTICE ''hello, world!'';
END
$$;
Las variables se referencian usando %
:
RAISE NOTICE ''%'', variable_name;
Estoy tratando de ejecutar esto en PostgreSQL 9.2:
RAISE NOTICE ''hello, world!'';
Y el servidor dice:
Error : ERROR: syntax error at or near "RAISE"
LINE 1: RAISE NOTICE ''hello, world!''
^
¿Por qué?
ejemplo simple:
CREATE OR REPLACE FUNCTION test()
RETURNS TRIGGER AS
''
DECLARE
num int;
BEGIN
IF TG_OP = ''''INSERT'''' THEN
select count(*) into num from test_table;
IF num >= 1 THEN
RAISE WARNING ''''Cannot Insert more than one row'''';
RETURN OLD;
END IF;
ELSE
RETURN NEW;
END IF;
END;
'' LANGUAGE plpgsql;
raise
es PL/pgSQL
solamente.
http://www.postgresql.org/docs/current/static/plpgsql-errors-and-messages.html
create or replace function r(error_message text) returns void as $$
begin
raise notice ''%'', error_message;
end;
$$ language plpgsql;
select r(''an error message'');
NOTICE: an error message