abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    dnes 05:11 | Nová verze

    Incus, komunitní fork nástroje pro správu kontejnerů LXD, byl vydán ve verzi 7.0 LTS (YouTube). Stejně tak související LXC a LXCFS.

    Ladislav Hagara | Komentářů: 0
    dnes 05:00 | Nová verze

    Google Chrome 148 byl prohlášen za stabilní. Nejnovější stabilní verze 148.0.7778.96 přináší řadu novinek z hlediska uživatelů i vývojářů. Vypíchnout lze Prompt API (demo) pro přímý přístup k AI v zařízení. Podrobný přehled v poznámkách k vydání. Opraveno bylo 127 bezpečnostních chyb. Vylepšeny byly také nástroje pro vývojáře.

    Ladislav Hagara | Komentářů: 0
    včera 16:44 | Komunita

    Richard Hughes oznámil, že po společnostech Red Hat a Framework a organizacích OSFF a Linux Foundation, službu Linux Vendor Firmware Service (LVFS) umožňující aktualizovat firmware zařízení na počítačích s Linuxem, nově sponzorují také společnosti Dell a Lenovo. Do dnešního dne bylo díky LVFS provedeno více než 145 milionů aktualizací firmwarů od více než 100 různých výrobců na milionech linuxových zařízení.

    Ladislav Hagara | Komentářů: 0
    včera 15:22 | IT novinky

    Americké technologické společnosti Microsoft, Google a xAI souhlasily, že vládě Spojených států poskytnou přístup k novým modelům umělé inteligence (AI) před jejich uvedením na trh. Oznámila to americká vláda, která tak bude moci prověřit, zda modely nepředstavují hrozbu pro národní bezpečnost. Oznámení podtrhuje rostoucí obavy Washingtonu z rizik spojených s výkonnými AI systémy. Americké úřady chtějí v rámci předběžného přístupu

    … více »
    Ladislav Hagara | Komentářů: 0
    včera 14:11 | IT novinky

    Společnost Valve zveřejnila (GitLab) nákresy ovladače Steam Controller a puku. Pro všechny, kdo by jej chtěli hacknout nebo modifikovat, případně pro ně navrhnout nějaké příslušenství. Pod licencí Creative Commons (CC BY-NC-SA 4.0).

    Ladislav Hagara | Komentářů: 0
    včera 12:44 | Komunita

    PHP bylo dlouho distribuováno pod vlastní licencí – s výjimkou částí spadajících pod licenci Zend Engine. Po několikaleté práci se povedlo PHP přelicencovat na 3bodovou licenci BSD.

    Ladislav Hagara | Komentářů: 0
    včera 05:00 | Komunita

    Na čem pracují vývojáři webového prohlížeče Ladybird (GitHub)? Byl publikován přehled vývoje za duben (YouTube). Na Linuxu je vedle Qt frontendu nově k dispozici také GTK4 / libadwaita frontend.

    Ladislav Hagara | Komentářů: 17
    5.5. 20:22 | IT novinky

    Neziskové průmyslové konsorcium Khronos Group vydalo verzi 3.1 specifikace OpenCL (Open Computing Language). OpenCL je průmyslový standard pro paralelní programování heterogenních počítačových systémů.

    Ladislav Hagara | Komentářů: 0
    5.5. 13:11 | Nová verze

    Homebridge pro integraci chytrých domácích zařízení byl vydán ve verzi 2.0.0. Nově vedle protokolu HomeKit Accessory Protocol (HAP) podporuje standard chytré domácnosti Matter.

    Ladislav Hagara | Komentářů: 0
    5.5. 04:11 | Nová verze

    Omarchy je linuxová distribuce s dlaždicovým správcem oken Hyprland. Založena je na Arch Linuxu. Vydána byla v nové verzi 3.7.0 - The Gaming Edition. Z novinek lze vypíchnout příkaz omarchy a celou řadu herních možností.

    Ladislav Hagara | Komentářů: 2
    Které desktopové prostředí na Linuxu používáte?
     (14%)
     (9%)
     (2%)
     (14%)
     (31%)
     (4%)
     (7%)
     (3%)
     (16%)
     (24%)
    Celkem 1515 hlasů
     Komentářů: 30, poslední 3.4. 20:20
    Rozcestník

    Dotaz: Postgresql vnořená funkce id sloupců

    12.12.2018 12:04 ZAH | skóre: 43 | blog: ZAH
    Postgresql vnořená funkce id sloupců
    Přečteno: 1039×
    Zasek jsem se nad vnořenými funkce v Postgreql 9.1

    Mám základní funkci, která pracuje bez problémů
    CREATE FUNCTION accounting.basefun(
        IN var_year character,
        IN var_month character)
      RETURNS TABLE(
      account  character,
      debit11  double precision, 
      credit11 double precision,
      debit    double precision, 
      credit   double precision,
      debitxx  double precision, 
      creditxx double precision) AS
    $BODY$
    .....
    ......
    
    Nyní potřebuji ji použít jako zdroj dat v jiné funkci , tam jsem narazil na problém s identifikací sloupců.
     CREATE FUNCTION extfun(
        IN var_year character,
        IN var_month character)
      RETURNS TABLE(
      account  character,
      accountname  character,
      debit11  double precision, 
      credit11 double precision,
      debit    double precision, 
      credit   double precision,
      debit1x  double precision, 
      credit1x double precision, 
      debitxx  double precision, 
      creditxx double precision,
      debitact  double precision, 
      creditact double precision
      ) AS
    $BODY$
    SELECT
     ledg.account, //error
     Zde nemohu přijít jak identifikovat sloupce
     ledg.debit11,
     ledg.credit11 
    .........
    FROM 
     (SELECT 
      accounting.basechangeledger(var_year,var_month)
    ) AS ledg 
    $BODY$
    
    Předem dík za nakopnutí správným směrem.

    Řešení dotazu:


    Odpovědi

    12.12.2018 15:17 ttt
    Rozbalit Rozbalit vše Re: Postgresql vnořená funkce id sloupců
     (SELECT 
      * 
      FROM
      accounting.basechangeledger(var_year,var_month)
    ) AS ledg 
    Tvůj zápis sešrotuje sloupce do pole a vrací to jako jeden sloupec, jestli se nepletu.
    12.12.2018 19:55 ZAH | skóre: 43 | blog: ZAH
    Rozbalit Rozbalit vše Re: Postgresql vnořená funkce id sloupců
    Nezdá se, přiložená funkce vrací normálně tabulku identickou s výsledkem accounting.basefunc (zdroj from). Vtip je v tom, že potřebuji doplnit několik sloupců a tak potřebuji přístup k datům vnitřní funkce v select. Řešením je přepsání původní funkce tak aby obsahovala doplněné sloupce což úplně nevyhovuje.
    CREATE  FUNCTION  accounting.test(
        IN var_year character,
        IN var_month character)
      RETURNS TABLE(
      account  character,
      debit11  double precision, 
      credit11 double precision,
      debit    double precision, 
      credit   double precision,
      debitxx  double precision, 
      creditxx double precision
      ) AS
    $BODY$
    SELECT 
    *
    FROM 
     (SELECT 
      accounting.basefunc(var_year,var_month)
    ) AS ledg 
    
    
    $BODY$
     LANGUAGE sql VOLATILE
    
    Řešení 1× (ZAH (tazatel))
    12.12.2018 20:43 EtDirloth | skóre: 11
    Rozbalit Rozbalit vše Re: Postgresql vnořená funkce id sloupců
    Funkcia ano, ale tvoj pod-dotaz SELECT accounting.basefunc(var_year,var_month) vola funkciu vracajucu "sadu" (set returning function). Ak ju zavolas priamo v SELECT klauzule, tak musi vratit cely viacstlpcovy riadok v jedinom stlpci typu ROW(*). Predrecnik to sice chybne oznacil ako pole, ale trafil pricinu problemu. Je to to iste, ako keby si zavolal SELECT ROW(e.*) FROM accounting.basefunc(var_year,var_month);

    Ak chces pracovat s jednotlivymi stlpcami, musis to volat ako SELECT * FROM accounting.basefunc(var_year,var_month).

    Tvoja funkcia by potom mohla vyzerat takto:
    BODY$
    SELECT
     ledg.*,
     ledg.debit11,
     ledg.credit11
    FROM 
     (SELECT *
      FROM accounting.basechangeledger(var_year,var_month)
    ) AS ledg 
    $BODY$
    
    co je ale to iste ako:
    BODY$
    SELECT
     ledg.*,
     ledg.debit11,
     ledg.credit11
    FROM accounting.basechangeledger(var_year,var_month) AS ledg 
    $BODY$
    
    12.12.2018 21:18 ZAH | skóre: 43 | blog: ZAH
    Rozbalit Rozbalit vše Re: Postgresql vnořená funkce id sloupců
    Dík máš plnou pravdu.

    Založit nové vláknoNahoru

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

    ISSN 1214-1267   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.