powered by simpleCommunicator - 2.0.56     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Ошибка при вызове функции -- подскажите что не так?
4 сообщений из 4, страница 1 из 1
Ошибка при вызове функции -- подскажите что не так?
    #32342269
\/lad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Создаю функцию:

CREATE OR REPLACE FUNCTION test() RETURNS SETOF TEXT AS '
DECLARE
colval RECORD;
BEGIN
FOR colval IN SELECT * FROM property LOOP
RETURN NEXT colval.name;
END LOOP;
RETURN;
END;
' LANGUAGE 'plpgsql';

Функция создается успешно, но когда пытаюсь вызвать select * FROM test();
выдает ошибку: ERROR: parser: parse error at or near "("

народ, подскажите плиз что не так?
зы: работаю через psql
...
Рейтинг: 0 / 0
Ошибка при вызове функции -- подскажите что не так?
    #32342383
assa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А версия PostgreSQL?

У меня ваша ф-я (с моей, правда, таблой) отрабатывает в 7.3.4 нормально .

Вчера наблюдал такое сообщение /parse error at or near "("/ при попытке именно такого вызова (правда ф-ии на ' LANGUAGE 'sql') из 7.0. Но можно было вызвать как
SELECT function();
вместо
SELECT * FROM function();
что не спасало, ибо SELECT function() (похоже) возвращал набор oid-ов (одних и тех-же) вместо набора записей объявленной (табличной) струтуры. Правда результат отработки ф-ии я все-таки видел (потом) в заполняемой ей таблице.

А вот в 7.3. попытка вызвать сет как SELECT function(); в вашем случае не завершится успехом.
...
Рейтинг: 0 / 0
Ошибка при вызове функции -- подскажите что не так?
    #32342418
\/lad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
у меня версия 7.2.1.beta4 под вини

Если не ошибаюсь select funk() используется для получения одиночного результата, для получения набора записей используется select * from funk()
...
Рейтинг: 0 / 0
Ошибка при вызове функции -- подскажите что не так?
    #32342438
assa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я тоже так думал. Но мне 7.0 возвратил безымянную колонку, забитую одним и тем же значением. число записей совпало с числом записей в возвращаемой таблице. А SELECT * FROM fun(); не пропускается парсером 7.0 (как, видимо, и 7.2).
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Ошибка при вызове функции -- подскажите что не так?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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