Dnes: 21. ledna 2018    | Registrace | Hledáme | Redakce | Info | Testy | Školení | Ocenění | Nápověda | Čtenář: nepřihlášen

Rychlé odkazy
  • Hlavní stránka
  • Seznam rubrik
  • Ankety
  • Editoriály
  • TOP 15
  • KONFERENCE 2008
  • KONFERENCE 2007
  • KONFERENCE 2006
  • KONFERENCE 2005
  • KONFERENCE 2004
  • Sborník
  • Testy
  • Virtuální školení
  • Personalizace


  • Hledáte práci?
    Hledáme redaktora - pojďte s námi tvořit Databázový svět!

    Vyhledávání

    Hledej
    na Databázovém světě!



    Rozšířené vyhledávání

    Rubriky
    Aktuality
    Bezpečnost
    Business
    Česká scéna
    Datové sklady
    Dokumentace
    Dotazovací jazyky
    Hardware
    Historie
    Komentáře
    Literatura
    Metodologie
    Nondb
    Open Source
    Poradna
    Produkty
    Případové studie
    Redakce
    Rozhovory
    Standardy
    Technologie
    Tipy - triky
    Tiskové zprávy
    Vývoj
    Vývojové nástroje
    Zajímavosti

    Co je to?
    SQL
    (Structured Query Language)

    Jedná se o neprocedurální jazyk, používaný v databázových technologiích. Počátky tohoto jazyka spadají do druhé poloviny minulého století.

    Akce
    Dynamická Datová Centra
    - na semináři se seznámíte s komplexním řešením a koncepcí Dynamických Datových Center od Fujitsu Siemens Computers se speciálním důrazem na řešení FlexFrame.

    Textová inzerce
    IBPhoenix - Vše o InterBase a Firebirdu.

    Smějete se rádi? - Pak je pro vás Vtipník to pravé!

    Prodejce reklamy - Hledáme schopného prodejce reklamního prostoru, možnost i externí spolupráce.

    Přihlášený čtenář
    Nepřihlášený čtenář

    O portálu
    Databázový svět
    ISSN: 1213-5933

    Web je optimalizován pro rozlišení 1024x768, nicméně kromě větších rozlišení podporujeme i 800x600. Podrobnosti najdete zde.

    Chcete-li mít kdykoliv možnost zkontrolovat obsah našeho portálu, můžete využít podporu rss. Podrobnosti najdete zde.
    Pryč s duplicitními záznamy!


    [Dotazovací jazyky] - Dnes si ukážeme, jak je možné jednoduše vymazat duplicitní záznamy v běžných tabulkách u databázových platforem Oracle.



    Prakticky každý vývojář databázových aplikací se jednou za čas potká s úkolem vymazat z tabulky duplicitní záznamy. Cest k řešení je hned několik, ve skutečnosti ale všechny vycházejí z nějakého porovnávání hodnot atributů, které jsou objektem zájmu o duplicitu. Ne vždy totiž musí jít o duplicitu podle všech atributů, ale jen podle několika z nich – například čísla zákazníka.

    Pokud zůstaneme u výše uvedeného příkladu se zákazníkem, můžeme v databázi Oracle zajistit odstranění duplicitních záznamů například takto:

    DELETE FROM ADRESY Z1
      WHERE Z1.ROWID>
        (
          SELECT MIN(Z2.ROWID)
             FROM ADRESY Z2
             WHERE Z1.CISLOZAK=Z2.CISLOZAK
        )
    

    Funkce MIN je pochopitelně zaměnitelná za MAX, v takovém případě je ovšem nutné změnit i porovnávací podmínku na menší. Podstata triku totiž spočívá ve vybrání všech záznamů, pro které platí, že jejich RowID (tedy jedinečný identifikátor záznamu) je větší nebo menší než pro referenční záznam. Uvedený příklad s adresami nezohledňuje žádné časové hledisko, v takovém případě by do hry vstupovaly další atributy a složitější podmínky.

    Uvedený postup je možné po drobných úpravách použít na libovolné platformě, ovšem za předpokladu, že daná tabulka má primární klíč, pomocí kterého je možné určit nejmenší či největší referenční hodnotu. Stejná úprava je nutná i v případě tabulek v Oracle, které nenabízejí RowID (od verze 9i).



    Související články:
    Jak na výběr opakujících se záznamů? (04.01.2010)
    SQL – Hotová řešení (26.01.2004)
    Má SQL budoucnost? (12.08.2002)
    Norma za 18 dolarů (17.06.2002)
    Naučte se SQL, díl sedmý (05.03.2002)
    Naučte se SQL, díl šestý (13.02.2002)
    Naučte se SQL, díl pátý (05.02.2002)
    Naučte se SQL, díl čtvrtý (29.01.2002)
    Naučte se SQL, díl třetí (16.01.2002)
    Naučte se SQL, díl druhý (11.01.2002)
    Transakce? Co to je!? (06.11.2001)
    Naučte se SQL, díl první (01.11.2001)

    ( Celý článek! | Autor: František Skřivánek | Počet komentářů: 1 | Přidat komentář | Informační e-mailVytisknout článek )

    Vyhledávání
     

    Anketa
    Kolik ročně utratíte za dovolené?

    Nic 
     (1557 hl.)
    Do 1 000,- Kč 
     (1074 hl.)
    Do 10 000,- Kč 
     (1003 hl.)
    Do 25 000,- Kč 
     (1385 hl.)
    Do 50 000,- Kč 
     (1019 hl.)
    Do 75 000,- Kč 
     (1183 hl.)
    Více než 75 000,- Kč 
     (1022 hl.)

    Celkem hlasovalo: 8243


    Poslední komentáře
    frontierd@126.com
    frontierd@126.com
    frontierd@126.com
    c
    http://www.coachoutl

    Newsletter
    Přihlaste si nezávazně - i bez registrace - odběr informačního newsletteru. Podrobné informace najdete zde.

    Emailová adresa:


    Kalendář
    <<  Leden  >>
    PoÚtStČtSoNe
    1234567
    891011121314
    15161718192021
    22232425262728
    293031    

    Redakci připojuje


    Nejčtenější

    Databáze je prázdná!


    Nejvíce komentářů

    Databáze je prázdná!


    Reklama






    Nenechte si ujít články na dalších webech




    Na této stránce použité názvy programových produktů, firem apod. mohou být ochrannými známkami
    nebo registrovanými ochrannými známkami příslušných vlastníků.

    Databázový svět | dfKlub - digitální fotografie | Vtipník - vtipy přímo k Vám | Reminder - přestaňte zapomínat | Databázový svět

    Copyright (c) 2004 AVRE Publishing, spol. s r.o. Všechna práva vyhrazena