Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Именованые параметры функции на sql / 4 сообщений из 4, страница 1 из 1
07.11.2006, 23:35
    #34110521
ClsProgramming
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Именованые параметры функции на sql
Пишу функцию:
Код: plaintext
1.
2.
3.
4.
5.
CREATE or replace FUNCTION test (x int) returns int
AS
$body$
SELECT x as return;
$body$
LANGUAGE SQL;
Естественно не работает, а если на параметр сослаться как $1 то все ок.
Вопрос: можно ли в функции на sql юзать именованные параметры, если нет то как поставить алиас параметру.
Просто интересно, если именованых параметров нет, то почему на обьявление этой функции он не ругнулся, я же дал параметру имя вроде?
Знаю что на pgsql есть именованые параметры, но для того, чтобы сделать примитивный селект нужно огород городить типа:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
declare r record;
begin

for r in select * from "users" loop
return next r;
end loop;

return;
end
И еще вопрос: можно ли на pgsql как-то попрямее вернуть эту выборку?
P.S.: прошу сильно не пинать, если чего недопонял :)
Спасибо.
...
Рейтинг: 0 / 0
30.11.2006, 18:52
    #34168588
ClsProgramming
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Именованые параметры функции на sql
Круто, прошло 3 недели и ни одного ответа. Что, такое сделать нельзя или никто не знает?
...
Рейтинг: 0 / 0
30.11.2006, 20:48
    #34168829
Jelis
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Именованые параметры функции на sql
1. В чистом sql алиасов нет.
2. А чем вам токое возвращение "кривое"???
В документации чета написанно что "и даже целая таблица результатов может быть возвращенна" ("RETURN NEXT can be used with both scalar and composite data types; with a composite result type, an entire "table" of results will be returned." ) Попробуйте, RETURN NEXT SELECT * FROM Users; Сам не проверял, и почему-то кажиться что такая конструкция не прокатит.
...
Рейтинг: 0 / 0
30.11.2006, 23:39
    #34169000
Shweik
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Именованые параметры функции на sql
ClsProgrammingПишу функцию:
[src]CREATE or replace FUNCTION test (x int) returns int
Вопрос: можно ли в функции на sql юзать именованные параметры, если нет то как поставить алиас параметру.
Просто интересно, если именованых параметров нет, то почему на обьявление этой функции он не ругнулся, я же дал параметру имя вроде?

а) Алиас поставить некак. Идентификаторы в заголовке - пока что равносильны комментариям.
Остается надеяться что это не надолго - может уже дописывается. Не так давно вообще никаких идентификаторов и кажется небыло - select X where id=$2.
б)Не ругнулся потому что он воспринял твой "select as resturn" равносильно
"select x as "Суслики! Внимательно читайте инструкции по рытью нор и незабывайте проверять крепёж."
Это ж не имя параметра а просто алиас _колонки_ .;) Правда вот облом ты еще колонку x ему подсунул а из какой таблицы??? Ответ
column not exist вполне обоснован.

можно ли на pgsql как-то попрямее вернуть эту выборку?

Нет есть только мизерная вероятность что ты возьмешь и напишешь новый интерпретатор
pl/pgsql.
...
Рейтинг: 0 / 0
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Именованые параметры функции на sql / 4 сообщений из 4, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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