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 06:00 | Komunita

    Na čem aktuálně pracují vývojáři GNOME a KDE Plasma? Pravidelný přehled novinek v Týden v GNOME a Týden v KDE Plasma. Vypíchnout lze, že v Plasmě byl implementován 22letý požadavek. Historie schránky nově umožňuje ohvězdičkovat vybrané položky a mít k ním trvalý a snadný přístup.

    Ladislav Hagara | Komentářů: 0
    30.8. 20:00 | Nová verze

    Wayfire, kompozitní správce oken běžící nad Waylandem a využívající wlroots, byl vydán ve verzi 0.10.0. Zdrojové kódy jsou k dispozici na GitHubu. Videoukázky na YouTube.

    Ladislav Hagara | Komentářů: 0
    30.8. 04:00 | Komunita

    Před necelými čtyřmi měsíci byl Steven Deobald jmenován novým výkonným ředitelem GNOME Foundation. Včera skončil, protože "nebyl pro tuto roli v tento čas ten pravý".

    Ladislav Hagara | Komentářů: 7
    29.8. 18:33 | Zajímavý článek

    Nové číslo časopisu Raspberry Pi zdarma ke čtení: Raspberry Pi Official Magazine 156 (pdf).

    Ladislav Hagara | Komentářů: 0
    29.8. 15:11 | Nová verze

    Armbian, tj. linuxová distribuce založená na Debianu a Ubuntu optimalizovaná pro jednodeskové počítače na platformě ARM a RISC-V, ke stažení ale také pro Intel a AMD, byl vydán ve verzi 25.8.1. Přehled novinek v Changelogu.

    Ladislav Hagara | Komentářů: 0
    29.8. 12:11 | IT novinky

    Včera večer měl na YouTube premiéru dokumentární film Python: The Documentary | An origin story.

    Ladislav Hagara | Komentářů: 0
    28.8. 23:33 | Nová verze

    Společnost comma.ai po třech letech od vydání verze 0.9 vydala novou verzi 0.10 open source pokročilého asistenčního systému pro řidiče openpilot (Wikipedie). Zdrojové kódy jsou k dispozici na GitHubu.

    Ladislav Hagara | Komentářů: 0
    28.8. 21:55 | Nová verze Ladislav Hagara | Komentářů: 4
    28.8. 14:11 | IT novinky

    Řada vestavěných počítačových desek a vývojových platforem NVIDIA Jetson se rozrostla o NVIDIA Jetson Thor. Ve srovnání se svým předchůdcem NVIDIA Jetson Orin nabízí 7,5krát vyšší výpočetní výkon umělé inteligence a 3,5krát vyšší energetickou účinnost. Softwarový stack NVIDIA JetPack 7 je založen na Ubuntu 24.04 LTS.

    Ladislav Hagara | Komentářů: 4
    28.8. 00:44 | Bezpečnostní upozornění

    Národní úřad pro kybernetickou a informační bezpečnost (NÚKIB) spolu s NSA a dalšími americkými úřady upozorňuje (en) na čínského aktéra Salt Typhoon, který kompromituje sítě po celém světě.

    Ladislav Hagara | Komentářů: 27
    Pro otevření více webových stránek ve webovém prohlížečí používám
     (81%)
     (8%)
     (3%)
     (3%)
     (4%)
     (1%)
    Celkem 118 hlasů
     Komentářů: 9, poslední 28.8. 11:53
    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: 436×
    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.