Portál AbcLinuxu, 6. listopadu 2025 00:28
Řešení dotazu:
CREATE OR REPLACE FUNCTION foo(IN terminal_cislo int,
OUT sloupec1 int,
OUT sloupec2 int,
OUT sloupec3 int)
RETURNS SETOF record AS $$
SELECT sloupec1, sloupec2, sloupec3
WHERE cislo_automatu = $1
$$ LANGUAGE SQL;
-- volani
SELECT * FROM foo(10);
Jinak v Postgresu, v Oraclu se procedury tohoto typu nepíší - používají se primárně pohledy. Procedurální kód se používá primárně pro změny dat - případně dopočítání v případech, kdy si nevystačím s pohledy. Nemá cenu a nedoporučuje se wrapovat SELECTy uloženými procedurami. Od toho jsou pohledy.
Něco dokumentace k přečtení:
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.