powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Запуск функции из триггера в другой схеме
5 сообщений из 5, страница 1 из 1
Запуск функции из триггера в другой схеме
    #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
Запуск функции из триггера в другой схеме
    #39067935
alexey.a
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Версия 9.1
...
Рейтинг: 0 / 0
Запуск функции из триггера в другой схеме
    #39067939
ursido
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
alexey.a,

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

Приведите определение функции public.foo в том числе с аргументами.
...
Рейтинг: 0 / 0
Запуск функции из триггера в другой схеме
    #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
Запуск функции из триггера в другой схеме
    #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
5 сообщений из 5, страница 1 из 1
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Запуск функции из триггера в другой схеме
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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