- Имя таблицы, как аргумент функции, СергейК, 15:36 , 10-Май-06 (1)
>Есть проблема: надо создать функцию для работы с таблицами, у которой аргумент >- имя таблицы, с которой она должна работать. Но PostgreSQL не >раскрывает подстановки типа SELECT что-нибудь FROM $1 (или имя переменной). Не >подскажет ли кто-нибудь решение? SQL-ную функцию такую не написать, но на PL/pgSQL можно. Если достаточно чтобы функция возвращала одну запись, то можно использовать EXECUTE INTO внутри PL/pgSQL (см. http://www.postgresql.org/docs/8.1/static/plpgsql-statements... ) А если нужна Set Returning Function, то можно сделать с помощью курсоров (похоже на пример вот здесь http://www.postgresql.org/docs/8.1/static/plpgsql-cursors.ht... ). В функции надо сначала получить курсор на Ваш динамический запрос, а потом пройтись циклом по результатам из курсора.
|