próbuję uruchomić to w PostgreSQL 9.2:Jak PODNOSIĆ NOTYFIKACJĘ w PostgreSQL?
RAISE NOTICE 'hello, world!';
i serwer mówi:
Error : ERROR: syntax error at or near "RAISE"
LINE 1: RAISE NOTICE 'hello, world!'
^
Dlaczego?
próbuję uruchomić to w PostgreSQL 9.2:Jak PODNOSIĆ NOTYFIKACJĘ w PostgreSQL?
RAISE NOTICE 'hello, world!';
i serwer mówi:
Error : ERROR: syntax error at or near "RAISE"
LINE 1: RAISE NOTICE 'hello, world!'
^
Dlaczego?
Zastosowanie anonimowy code block:
DO language plpgsql $$
BEGIN
RAISE NOTICE 'hello, world!';
END
$$;
Variables are referenced użyciu %
:
RAISE NOTICE '%', variable_name;
raise
to tylko PL/pgSQL
.
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
prosty przykład:
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;
To jest dokładnie to, czego potrzebuję :) – yegor256
Żeby było krócej można usunąć znaki końca linii i * Język plpgsql * – Ruut
@ruut W wersji 9.6 pg ja używam często pojawiają się błędy próbując tworzyć funkcje gdzie zapomniałem określić język "BŁĄD: brak określonego języka" Być może wcześniej był domyślny? – Davos