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í
×
    včera 14:44 | Nová verze

    Byla vydána verze 4.0.0 programovacího jazyka Ruby (Wikipedie). S Ruby Box a ZJIT. Ruby lze vyzkoušet na webové stránce TryRuby. U příležitosti 30. narozenin, první veřejná verze Ruby 0.95 byla oznámena 21. prosince 1995, proběhl redesign webových stránek.

    Ladislav Hagara | Komentářů: 0
    24.12. 02:11 | Komunita

    Všem čtenářkám a čtenářům AbcLinuxu krásné Vánoce.

    Ladislav Hagara | Komentářů: 19
    24.12. 02:00 | Nová verze

    Byla vydána nová verze 7.0 linuxové distribuce Parrot OS (Wikipedie). S kódovým názvem Echo. Jedná se o linuxovou distribuci založenou na Debianu a zaměřenou na penetrační testování, digitální forenzní analýzu, reverzní inženýrství, hacking, anonymitu nebo kryptografii. Přehled novinek v příspěvku na blogu.

    Ladislav Hagara | Komentářů: 0
    23.12. 18:33 | Nová verze

    Vývojáři postmarketOS vydali verzi 25.12 tohoto před osmi lety představeného operačního systému pro chytré telefony vycházejícího z optimalizovaného a nakonfigurovaného Alpine Linuxu s vlastními balíčky. Přehled novinek v příspěvku na blogu. Na výběr jsou 4 uživatelská rozhraní: GNOME Shell on Mobile, KDE Plasma Mobile, Phosh a Sxmo.

    Ladislav Hagara | Komentářů: 0
    23.12. 13:55 | Nová verze

    Byla vydána nová verze 0.41.0 multimediálního přehrávače mpv (Wikipedie) vycházejícího z přehrávačů MPlayer a mplayer2. Přehled novinek, změn a oprav na GitHubu. Požadován je FFmpeg 6.1 nebo novější a také libplacebo 6.338.2 nebo novější.

    Ladislav Hagara | Komentářů: 0
    23.12. 12:44 | Nová verze

    Byla vydána nová verze 5.5 (novinky) skriptovacího jazyka Lua (Wikipedie). Po pěti a půl letech od vydání verze 5.4.

    Ladislav Hagara | Komentářů: 0
    22.12. 23:44 | Nová verze

    Byla vydána nová verze 5.4.0 programu na úpravu digitálních fotografií darktable (Wikipedie). Z novinek lze vypíchnout vylepšenou podporu Waylandu. Nejnovější darktable by měl na Waylandu fungovat stejně dobře jako na X11.

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

    Byla vydána beta verze Linux Mintu 22.3 s kódovým jménem Zena. Podrobnosti v přehledu novinek a poznámkách k vydání. Vypíchnout lze, že nástroj Systémová hlášení (System Reports) získal mnoho nových funkcí a byl přejmenován na Informace o systému (System Information). Linux Mint 22.3 bude podporován do roku 2029.

    Ladislav Hagara | Komentářů: 2
    21.12. 01:55 | Nová verze

    GNU Project Debugger aneb GDB byl vydán ve verzi 17.1. Podrobný přehled novinek v souboru NEWS.

    Ladislav Hagara | Komentářů: 0
    19.12. 17:22 | IT novinky

    Josef Průša oznámil zveřejnění kompletních CAD souborů rámů tiskáren Prusa CORE One a CORE One L. Nejsou vydány pod obecnou veřejnou licenci GNU ani Creative Commons ale pod novou licencí OCL neboli Open Community License. Ta nepovoluje prodávat kompletní tiskárny či remixy založené na těchto zdrojích.

    Ladislav Hagara | Komentářů: 14
    Kdo vám letos nadělí dárek?
     (34%)
     (2%)
     (10%)
     (2%)
     (1%)
     (2%)
     (15%)
     (19%)
     (14%)
    Celkem 86 hlasů
     Komentářů: 18, poslední 24.12. 15:30
    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: 461×
    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.