Portál AbcLinuxu, 9. května 2024 17:05


Dotaz: plpgsql funkce a docasne tabulky

16.10.2012 19:17 kafcha | skóre: 1 | east
plpgsql funkce a docasne tabulky
Přečteno: 245×
Odpovědět | Admin
zacinam s psanim funkci na strane serveru v plpgsql a potreboval bych trosku nakopnout .]
mam tento pripad (zjednodusene):
tabulka nakladky(bar_kod c(), prevedeno c(), reklamace c())
dostanu bar_kod, pokud neexistuje v nakladky tak se nic nedeje, pokud existuje a prevedeno = 'N' tak ho z nakladky smazu, pokud existuje a prevedeno = 'A' a reklamace = 'A' tak se nic nedeje, pokud existuje a prevedeno = 'A' a reklamace = 'N' tak zaloguji tento kod stejny bar_kod tam muze byt vicekrat tj. napriklad:
bar_kod - prevedeno/reklamace
1234567 - N/N tento kod vymazat z nakladky
1234567 - A/N tento kod zalogovat
1234567 - A/A tohoto kodu si nevsimat
pokud na to napisu funkci, tak bych si predstavoval ze do docasne tabulky (create temp table mytable as select * from nakladky where bar_kod = p_kod) si nactu vsechny zaznamy pro zadany bar_kod a nad ni pak budu zjistovat jestli byl pripadne prevedeny/nereklamovany ci prevedeny/reklamovany chtel bych se zeptat jestli to zle resit nejak jinak a jestli je v poradku v ramce funkce takto pracovat s docasnou tabulkou

Řešení dotazu:


Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

Řešení 1× (kafcha (tazatel))
okbob avatar 16.10.2012 20:57 okbob | skóre: 30 | blog: systemakuv_blog | Benešov
Rozbalit Rozbalit vše Re: plpgsql funkce a docasne tabulky
Odpovědět | | Sbalit | Link | Blokovat | Admin
Na to není potřeba dočasná tabulka
DECLARE r RECORD;
BEGIN
  FOR r IN SELECT * FROM nakladky WHERE ...
  LOOP
  END LOOP;
END
dočasné tabulky má smysl používat, až když se jim nelze vyhnout

začal bych dokumentací, případně literaturou

postgres.cz/wiki/PL/pgSQL
17.10.2012 09:52 kafcha | skóre: 1 | east
Rozbalit Rozbalit vše Re: plpgsql funkce a docasne tabulky
dekuji, to je presne to co jsem hledal. dokumentaci studuji, ale jde to pomalu a prave ze reseni s docasnou tabulkou se me moc nelibilo

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.