Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / ошибка при использование триггера / 3 сообщений из 3, страница 1 из 1
20.09.2007, 13:53
    #34814422
Вадег
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ошибка при использование триггера
есть триггер

CREATE OR REPLACE FUNCTION "schema"."f_test" () RETURNS trigger AS
$body$
BEGIN
insert into schema.table1(text) values(new.text);
RETURN new;
END;
$body$
LANGUAGE 'plpgsql' IMMUTABLE CALLED ON NULL INPUT SECURITY INVOKER;


CREATE TRIGGER "trigger" BEFORE INSERT
ON "schema"."table" FOR EACH ROW
EXECUTE PROCEDURE "schema"."f_test"();

при инсерте ругается
ERROR: INSERT is not allowed in a non-volatile function
CONTEXT: SQL statement "insert into schema.table1(text) values( $1 )"
PL/pgSQL function "f_test" line 2 at SQL statement

версия СУБД 8.1.8
...
Рейтинг: 0 / 0
20.09.2007, 14:04
    #34814469
assa
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ошибка при использование триггера
Вадегесть триггер

CREATE OR REPLACE FUNCTION "schema"."f_test" () RETURNS trigger AS
$body$
BEGIN
insert into schema.table1(text) values(new.text);
RETURN new;
END;
$body$
LANGUAGE 'plpgsql' IMMUTABLE CALLED ON NULL INPUT SECURITY INVOKER;


CREATE TRIGGER "trigger" BEFORE INSERT
ON "schema"."table" FOR EACH ROW
EXECUTE PROCEDURE "schema"."f_test"();

при инсерте ругается
ERROR: INSERT is not allowed in a non-volatile function
CONTEXT: SQL statement "insert into schema.table1(text) values( $1 )"
PL/pgSQL function "f_test" line 2 at SQL statement

версия СУБД 8.1.8
см доку, раздел "Function Volatility Categories"
...
Рейтинг: 0 / 0
20.09.2007, 14:29
    #34814621
Вадег
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ошибка при использование триггера
assa Вадегесть триггер

CREATE OR REPLACE FUNCTION "schema"."f_test" () RETURNS trigger AS
$body$
BEGIN
insert into schema.table1(text) values(new.text);
RETURN new;
END;
$body$
LANGUAGE 'plpgsql' IMMUTABLE CALLED ON NULL INPUT SECURITY INVOKER;


CREATE TRIGGER "trigger" BEFORE INSERT
ON "schema"."table" FOR EACH ROW
EXECUTE PROCEDURE "schema"."f_test"();

при инсерте ругается
ERROR: INSERT is not allowed in a non-volatile function
CONTEXT: SQL statement "insert into schema.table1(text) values( $1 )"
PL/pgSQL function "f_test" line 2 at SQL statement

версия СУБД 8.1.8
см доку, раздел "Function Volatility Categories"

Спасибо. Понял.
Просто EMS автоматом функцию создает.
И дома под 7.* все работало
...
Рейтинг: 0 / 0
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / ошибка при использование триггера / 3 сообщений из 3, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]