Добрый вечер.
Есть функция которая возвращает курсор
CREATE OR REPLACE FUNCTION test_cursor (VARCHAR(255), text) returns refcursor AS $body$ DECLARE _ref refcursor; BEGIN OPEN _ref FOR SELECT id, disk, filmname, description, genrename FROM tmp_tbl_films WHERE filmname LIKE CONCAT('%',$1,'%'); RETURN _ref; END; $body$ LANGUAGE 'plpgsql';
как его далее обработать чтоб получить его содержимое?
Как я делаю, если чего-то не
Как я делаю, если чего-то не знаю в PostgreSQL.
1. Открываю Мануал, ссылка на который есть в шапке страницы
2. В Мануале открываю раздел Index
3. Ищу ключевое слово в Index
4. Тыкаю по ссылке
В вашем случае, по слову CURSOR есть ссылки с операторами создания (OPEN), закрытия (CLOSE) и извлечения (FETCH) информации для курсоров.
зачем отвечать если не знаеш
зачем отвечать если не знаеш ответа??? там так примерами все и усыпано такую информацию я находил через поиск
Если усыпано, то в чём
Если усыпано, то в чём проблемы? Что пробовали, что не работает? Из вашего вопроса вовсе не следует, что вы что-либо попробовали. А как работать с курсорами вам показали через ссылку на документацию.
А вы внимательно вопрос
А вы внимательно вопрос прочитали код функции просмотрели? Вы случаем не бот?
А вы не Рабинович случайно?
А вы не Рабинович случайно? Вопросом на вопрос отвечаете.
Говорят, что правильно заданный вопрос - это половина ответа. Если хотите, чтобы вам ответили - задавайте вопросы грамотно.
Из функции нужно вернуть
Из функции нужно вернуть результат выборки например есть такой запрос на выборку
SELECT id, disk, filmname, description, genrename FROM tmp_tbl_films WHERE filmname LIKE '%value%';
И вопрос в том как такое вернуть с функции? Нашел рекомендацию, что нужен курсор, примеры с этого сайта своим содержанием не блещут информации в инете нет если и есть то она однотипная и толку от нее как от документации.
Такого рода примеры мне не подходят поскольку у меня есть условие в выборке(выдавало ошибку если добавить условие). И в целом интересует возврат именно с ХП или postgresql в этой теме очень скуден?
И такое решение не предлагать
RETURN query SELECT ....
Результат выборки
Результат выборки необязательно возвращать курсором. Функции могут возвращать целые записи и даже таблицы:
http://postgresql.ru.net/manual/xfunc-sql.html#XFUNC-SQL-FUNCTIONS-RETUR...
http://postgresql.ru.net/manual/xfunc-sql.html#XFUNC-SQL-FUNCTIONS-RETUR...
Посмотрите эти варианты. Если вам они не устраивают, то посмотрю по курсорам, позже отвечу
результат который не
Ссылки на результат
результат который не подходит
результат который мне нужен
В результате который вам не
В результате который вам не подходит нужно-то всего одно действие сделать, чтобы превратить в результат, который вам подходит:
Теперь всё подходит?
Результат который подходит
Спасибо то что хотел, ток как то конструкция странная(наверное).
Ничего странного, всё по
Ничего странного, всё по мануалу. В разделе про запросы написано, что в конструкции:
SELECT набор_полей FROM ссылка_на_таблицу
"ссылка_на_таблицу" может быть как именем таблицы, так и выражением, и результатом подзапроса.