Хранимка в постгрес
create function tableSelect returns setof foo as '
select * from foo;
' language 'sql';
это хочешь? только нафига такие извращения?
да а вот такую штуку как запихнуть select t.num, tt.num from t1 t left join t2 tt USING(num);
create function tableSelect(text,text,text) returns setof record as '
declare
r record;
begin
for r in execute ''select t.''||$3||'', tt.''||$3||'' from ''||$1||'' as t left join ''||$2||'' as tt using(''||$3||'')'' loop
return next r;
end loop;
return;
end' language 'plpgsql';
avtomarket=> SELECT * FROM tableSelect('class','class','id') as t(id int,id2 int);
id | id2
----+-----
0 | 0
1 | 1
(записей: 2)
если по кошерному, то надо курсор возвращать
thx. блин засада я пока локально тестирую и у меня postgres под cygwin стоит, и поэтому 'plpgsql' язык надо импортировать. не в курсах 'plpgsql' включен в дефолтный пакет постгреса?
про цигвин не знаю. возьми нативную бету под винду, там вроде все по человечески.
Оставить комментарий
laki
Можно пример хранимки эквивалентной select * from SomeTable ? для постгресс.