Использовать имя таблицы в качестве параметра триггерной функции

Добрый день всем, есть такая задача:
Имеем 3 таблицы: group1(id serial, name1 text), prod(id serial, group_id serial, name1 text), message(id serial, message text, datetime).
group1 это группы товаров а prod сами товары. Они связаны внешним ключом по group_id.
Так же есть 4-ая таблица tables(id serial, table_name) в колонке которой записаны имена таблиц(в данном случае prod) а может быть таких таблиц как prod много prod1,prod2,prod3 и т.д. Нужно создать триггер и соответственно триггерную функцию, чтобы при удалении записи из group1 удалялись записи которые имеют group_id равным id из таблички group1 во всех таблица prod,prod1,prod2 и т .д. Сделал триггер на удаление из одной таблицы prod а из нескольких не могу, не знаю как передать в качестве параметра функции колонку таблицы где имена таблиц записаны.
Вот код :
CREATE or replace FUNCTION func1() RETURNS trigger AS '

declare
name1 record;

BEGIN
for name1 in EXECUTE(select table_name FROM tables1)
loop
delete from name1 where group_id=OLD.id;
return OLD;

end loop;

END; '
LANGUAGE plpgsql;
Выводит ошибку: "ошибка синтаксиса примерное положение prod"

Помогите разобраться пожалуйста как правильно надо сделать а то я чайник в постгрессе)

Опции просмотра комментариев

Выберите предпочитаемый вами способ показа комментариев и нажмите "Сохранить настройки" для активации изменений.

FAQ читать когда будем?

Опции просмотра комментариев

Выберите предпочитаемый вами способ показа комментариев и нажмите "Сохранить настройки" для активации изменений.

Back to top

(С) Виктор Вислобоков, 2008-2023