Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Запуск функции из триггера в другой схеме / 5 сообщений из 5, страница 1 из 1
04.10.2015, 19:10
    #39067931
alexey.a
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запуск функции из триггера в другой схеме
Всем привет!
Взываю к помощи Великих, у самого уже бошка кипит.

1. Есть схема public, внутри которой написана функция "foo", принимающая два параметра и возвращающая void.
2. Есть схемы "a", в которой есть таблица "c". Для нее пишется триггер, вызывающий после insert'a функцию "foo" из схемы public.

Пробую так:

SET search_path TO a;
CREATE TRIGGER "test" AFTER INSERT ON c FOR EACH ROW EXECUTE PROCEDURE public.foo('1','2');

Вылетает ошибка:

ERROR: function public.foo() does not exist.

Что я делаю не так?
...
Рейтинг: 0 / 0
04.10.2015, 19:15
    #39067935
alexey.a
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запуск функции из триггера в другой схеме
Версия 9.1
...
Рейтинг: 0 / 0
04.10.2015, 19:22
    #39067939
ursido
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запуск функции из триггера в другой схеме
alexey.a,

Скорее всего, эта функция все же не существует. Здесь я склонен верить PostgreSQL.

Приведите определение функции public.foo в том числе с аргументами.
...
Рейтинг: 0 / 0
04.10.2015, 19:26
    #39067940
ursido
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запуск функции из триггера в другой схеме
alexey.a... и возвращающая void

Ошибка, скорее всего, здесь. Триггерная функция возвращает никак не void.
То есть идет попытка подсунуть неправильную функцию.

http://www.postgresql.org/docs/9.1/static/sql-createtrigger.html function_name

A user-supplied function that is declared as taking no arguments and returning type trigger, which is executed when the trigger fires.
...
Рейтинг: 0 / 0
04.10.2015, 19:38
    #39067943
alexey.a
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запуск функции из триггера в другой схеме
ursidoalexey.a... и возвращающая void

Ошибка, скорее всего, здесь. Триггерная функция возвращает никак не void.
То есть идет попытка подсунуть неправильную функцию.

http://www.postgresql.org/docs/9.1/static/sql-createtrigger.html function_name

A user-supplied function that is declared as taking no arguments and returning type trigger, which is executed when the trigger fires.


Проблема была именно в этом - нужно было, чтобы ф-ция возвращала trigger, спасибо :)
...
Рейтинг: 0 / 0
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Запуск функции из триггера в другой схеме / 5 сообщений из 5, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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