abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×

    dnes 03:11 | Humor

    Tak od ledna linuxové terminály, výchozí pozadí i celé desktopy v barvě "broskvového chmýří", v barvě "jejíž všeobjímající duch obohacuje mysl, tělo i srdce". Barvou roku 2024 je PANTONE 13-1023 Peach Fuzz.

    Ladislav Hagara | Komentářů: 0
    včera 21:44 | Nová verze

    Byla vydána verze 10 linuxové distribuce Freespire (Wikipedie). Jedná se o bezplatnou linuxovou distribuci vyvíjenou společností PC/OpenSystems LLC stojící za komerční distribucí Linspire (Wikipedie), původně Lindows.

    Ladislav Hagara | Komentářů: 0
    včera 15:44 | Bezpečnostní upozornění

    Binarly REsearch před týdnem informoval o kritických zranitelnostech UEFI souhrnně pojmenovaných LogoFAIL. Tento týden doplnil podrobnosti. Útočník může nahradit logo zobrazováno při bootování vlastním speciálně upraveným obrázkem, jehož "zobrazení" při bootování spustí připravený kód. Pětiminutové povídání o LogoFAIL a ukázka útoku na YouTube.

    Ladislav Hagara | Komentářů: 2
    včera 00:11 | Nová verze

    Byla vydána listopadová aktualizace aneb nová verze 1.85 editoru zdrojových kódů Visual Studio Code (Wikipedie). Přehled novinek i s náhledy a animovanými gify v poznámkách k vydání. Ve verzi 1.85 vyjde také VSCodium, tj. komunitní sestavení Visual Studia Code bez telemetrie a licenčních podmínek Microsoftu.

    Ladislav Hagara | Komentářů: 16
    7.12. 13:33 | Komunita Ladislav Hagara | Komentářů: 2
    7.12. 13:22 | Komunita

    Richard Hughes na svém blogu oznámil, že počet aktualizací firmwarů pomocí služby LVFS (Linux Vendor Firmware Service) přesáhl 100 milionů. Přehled podporovaných zařízení, nejnovějších firmwarů nebo zapojených výrobců na stránkách LVFS.

    Ladislav Hagara | Komentářů: 0
    7.12. 12:55 | Nová verze

    Byla vydána nová stabilní verze 3.19.0, tj. první z nové řady 3.19, minimalistické linuxové distribuce zaměřené na bezpečnost Alpine Linux (Wikipedie) postavené na standardní knihovně jazyka C musl libc a BusyBoxu. Z novinek lze vypíchnou podporu Raspberry Pi 5.

    Ladislav Hagara | Komentářů: 0
    7.12. 12:22 | Zajímavý software

    Altap Salamander (Wikipedie), dvoupanelový správce souborů pro Windows, byl uvolněn jako open source pod názvem Open Salamander. Zdrojové kódy jsou k dispozici na GitHubu pod licencí GPLv2.

    Ladislav Hagara | Komentářů: 2
    7.12. 07:00 | IT novinky

    Společnost JetBrains představila (YouTube) svou umělou inteligenci JetBrains AI a nástroj AI Assistant v IDE.

    Ladislav Hagara | Komentářů: 10
    6.12. 22:33 | Nová verze

    Byla vydána nová verze 255 správce systému a služeb systemd (GitHub, NEWS). Z novinek lze vypíchnout například novou službu systemd-bsod.service.

    Ladislav Hagara | Komentářů: 0
     (36%)
     (12%)
     (52%)
    Celkem 89 hlasů
     Komentářů: 2, poslední 6.12. 22:12
    Rozcestník

    Dotaz: MySQL 5.1 trigger before insert - podmínka

    12.5.2012 21:56 malda
    MySQL 5.1 trigger before insert - podmínka
    Přečteno: 418×
    Hezký večer všem,

    po dvou hodinách debugování už jsem celkem bezradný s následujícím problémem. Mám tabulku "majetek", do které vkládám jednotlivé záznamy, primární klíč je přes dva sloupce (cislo_inventarni a cislo_komponenty). Potřebuji triggerem zajistit, aby se při vložení záznamu provedla kontrola, zda-li již v databázi inventární číslo není - pokud je, tak se vyhledá max číslo komponenty a inkrementuje se, pokud není, tak se číslo komponenty nastaví na 0.

    Následující kód funguje pro vložení již existujícího inventárního čísla (inkrementace čísla komponenty), ale nefunguje pro "nový záznam" - tam kde by číslo komponenty mělo být 0. (Při vložení vyhodí chybu že "cislo_komponenty nesmí být null").

    Poradí někdo?

    Díky, malda

    Kód triggeru:
    BEGIN
       DECLARE max_cislo_komponenta INT;
    
       SELECT MAX(cislo_komponenta) INTO max_cislo_komponenta FROM majetek WHERE cislo_inventarni = NEW.cislo_inventarni;
    
       IF max_cislo_komponenta = NULL THEN
           SET NEW.cislo_komponenta = 0;
       ELSE
           SET NEW.cislo_komponenta = (max_cislo_komponenta + 1);
       END IF;
       
    END
    

    Řešení dotazu:


    Odpovědi

    Řešení 1× (malda (tazatel))
    12.5.2012 22:45 Šangala | skóre: 56 | blog: Dutá Vrba - Wally
    Rozbalit Rozbalit vše Re: MySQL 5.1 trigger before insert - podmínka
    Že by:
    IF max_cislo_komponenta IS NULL THEN
    ?
    To, že trpíš stihomamem, ještě neznamená, že po tobě nejdou. ⰞⰏⰉⰓⰀⰜⰉ ⰗⰞⰅⰜⰘ ⰈⰅⰏⰉ ⰒⰑⰎⰉⰁⰕⰅ ⰏⰉ ⰒⰓⰄⰅⰎ ·:⁖⁘⁙†
    12.5.2012 23:12 malda
    Rozbalit Rozbalit vše Re: MySQL 5.1 trigger before insert - podmínka
    Perfektní, problem solved. Jaká hloupá chyba :-) Díky moc!
    okbob avatar 13.5.2012 08:33 okbob | skóre: 30 | blog: systemakuv_blog | Benešov
    Rozbalit Rozbalit vše Re: MySQL 5.1 trigger before insert - podmínka
    Jestli si nezamknete tabulku "majetek", tak tam mate paradni race condition.
    13.5.2012 11:26 malda
    Rozbalit Rozbalit vše Re: MySQL 5.1 trigger before insert - podmínka
    Tohle je pouze malá část kódu, určitě přidám transakci, bude tam toho ještě více.. Ale díky za upozornění :)

    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.