powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Создание Лукапа для табличек....
6 сообщений из 6, страница 1 из 1
Создание Лукапа для табличек....
    #34075139
donchenko
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здраствуйте Ув. коллеги.

Вот столкнулся с такой проблемой:

Есть некая БД, СУБД PosgreSQL, есть таблица - необходимо сделать просто лукап для данной таблицы, т.е.
Код: plaintext
1.
2.
3.
4.
5.
SELECT  id
                   ,dstr
                   ,num
        FROM someTable
        WHERE id > SOMEPARAMS; 


Как в ПОСТГРЕСЕ мне реализовать это дело по средствам хранимой процедуры/функции.
Код: plaintext
1.
2.
3.
4.
5.
CREATE OR REPLACE FUNCTION get_LookUp_test() RETURNS void AS $$
BEGIN
 SELECT num,dscr FROM test;
END;
$$ LANGUAGE plpgsql;

Провозился .. не получается ничего ...
Подскажите ПЛЗ!!!
...
Рейтинг: 0 / 0
Создание Лукапа для табличек....
    #34075166
Funny_Falcon
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
1. Зачем хранимая процедура? не лучше ли view? Или логика все-же посложнее?
2.
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
create type LookUp_Return as (
    id int4,
    dstr varchar,
    num numeric
);
CREATE OR REPLACE FUNCTION get_LookUp_test_1(SOMEPARAM int4) RETURNS setof LookUp_Return AS $$
SELECT  id
                   ,dstr
                   ,num
        FROM someTable
        WHERE id > $ 1 ; 
$$ LANGUAGE sql;

CREATE OR REPLACE FUNCTION get_LookUp_test_2(SOMEPARAM int4) RETURNS setof LookUp_Return AS $$
DECLARE
       rec LookUp_Return
BEGIN
        FOR rec IN SELECT  id
                   ,dstr
                   ,num
        FROM someTable
        WHERE id > SOMEPARAM LOOP
             RETURN NEXT rec;
        END LOOP;
END;
$$ LANGUAGE plpgsql;

...
Рейтинг: 0 / 0
Создание Лукапа для табличек....
    #34075202
donchenko
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Funny_Falcon
не лучше ли view? Или логика все-же посложнее?

Нет , вью не подходит ...
Там действительно немного с логикой намученно.
Большое спасибо за ответ ... Оч. помогло.
...
Рейтинг: 0 / 0
Создание Лукапа для табличек....
    #34076124
donchenko
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
И еще один момент.
Функция как бы вызывается и исполняется ....
Но!
При отработке, она возвращает одну монопольную строку, таким образом при обработке ее в клиенте, в ДБГриде отображается поле с именем MEMO.
Как с этим бороться?
...
Рейтинг: 0 / 0
Создание Лукапа для табличек....
    #34076173
Poligon
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
donchenkoИ еще один момент.
Функция как бы вызывается и исполняется ....
Но!
При отработке, она возвращает одну монопольную строку, таким образом при обработке ее в клиенте, в ДБГриде отображается поле с именем MEMO.
Как с этим бороться?

как вернуть рекордсет из функции?
...
Рейтинг: 0 / 0
Создание Лукапа для табличек....
    #34077758
Jelis
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
donchenkoИ еще один момент.
Функция как бы вызывается и исполняется ....
Но!
При отработке, она возвращает одну монопольную строку, таким образом при обработке ее в клиенте, в ДБГриде отображается поле с именем MEMO.
Как с этим бороться?

Код: plaintext
1.
   SELECT * FROM myFunction();
...
Рейтинг: 0 / 0
6 сообщений из 6, страница 1 из 1
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Создание Лукапа для табличек....
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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