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 04:44 | Nová verze

Byla vydána verze 0.7.0 debugovacího nástroje cgdb. Mezi novinky patří například zvýrazňování syntaxe jazyka Rust. Podrobnosti v poznámkách o vydání.

Neel | Komentářů: 0
25.3. 22:00 | Komunita

Portál Stack Overflow po roce opět vyzpovídal své uživatele, jedná se především o vývojáře softwaru, a zveřejnil (podcast) detailní výsledky průzkumu. Průzkumu se letos zúčastnilo více než 64 tisíc vývojářů. Jejich nejmilovanější platformou je linuxový desktop. Ten je také druhou nejpoužívanější platformou vývojářů.

Ladislav Hagara | Komentářů: 3
24.3. 11:55 | Komunita

Vývojový tým OpenSSL ve spolupráci s iniciativou Core Infrastructure konsorcia Linux Foundation spustil proces přelicencování této kryptografické knihovny ze současné licence na licenci Apache Licence v 2.0 (ASLv2). Nová licence usnadní začleňování OpenSSL do dalších svobodných a open source projektů. Všichni dosavadní vývojáři OpenSSL (Authors) obdrží v následujících dnech email s prosbou o souhlas se změnou licence.

Ladislav Hagara | Komentářů: 24
24.3. 01:11 | Komunita

Před třemi týdny Mozilla.cz představila projekt Photon, jehož cílem je návrh a implementace nového vzhledu Firefoxu. Včera zveřejnila první náhled vzhledu Photon. Práce na projektu Photon jsou rozděleny do pěti týmů, které celkem čítají 19 lidí. Zaměřují se na zlepšení prvního spuštění Firefoxu a zaujetí nových uživatelů, celkovou úpravu vzhledu, zlepšení animací, zrychlení odezvy uživatelského rozhraní a také upravení nabídek. Vývoj lze sledovat v Bugzille.

Ladislav Hagara | Komentářů: 44
23.3. 20:00 | Komunita

OneDrive pro firmy je již ve webových prohlížečích na Linuxu stejně rychlý jako na Windows. Microsoft opravil chybu z listopadu loňského roku. OneDrive pro firmy běžel na Linuxu mnohem pomaleji než na Windows. V popisu chyby bylo uvedeno, že stačilo v prohlížeči na Linuxu nastavit v user-agentu Windows a vše se zrychlilo. Odpovědí Microsoftu bylo (Internet Archive: Wayback Machine), že Linux není podporován. Po bouřlivých diskusích na redditu i Hacker News byla chyba nalezena a opravena.

Ladislav Hagara | Komentářů: 6
23.3. 19:00 | Zajímavý projekt

Byla vyhlášena soutěž Hackaday Prize 2017. Soutěž je určena vývojářům open source hardwaru. Pro výherce je připraveno celkově 250 tisíc dolarů. Každý ze 120 finalistů získá tisíc dolarů. Nejlepší pak navíc 50, 30, 20, 15, 10 a 5 tisíc dolarů. Jedná se již o čtvrtý ročník soutěže. V roce 2014 zvítězil projekt globální sítě open source pozemních satelitních stanic SatNOGS. V roce 2015 zvítězil open source systém pro řízení elektrických invalidních vozíků pohybem očí Eyedriveomatic. V roce 2016 zvítězil modulární robot Dtto.

Ladislav Hagara | Komentářů: 0
23.3. 15:00 | Bezpečnostní upozornění

Byla vydána Samba ve verzích 4.6.1, 4.5.7 a 4.4.12. Řešen je bezpečnostní problém CVE-2017-2619. Pomocí symbolických odkazů a souběhu (symlink race) lze "teoreticky" získat přístup k souborům, které nejsou sdíleny. Linuxové distribuce jsou postupně aktualizovány (Debian).

Ladislav Hagara | Komentářů: 0
23.3. 07:43 | Nová verze

Na Steamu se objevil port hry Arma: Cold War Assault (Operation Flashpoint) pro Mac a Linux. … více »

creon | Komentářů: 30
23.3. 05:55 | Nová verze

Po 18 měsících od vydání verze 8.0 byla vydána verze 9.0 open source alternativy GitHubu, tj. softwarového nástroje s webovým rozhraním umožňujícího spolupráci na zdrojových kódech, GitLab. Představení nových vlastností v příspěvku na blogu a na YouTube.

Ladislav Hagara | Komentářů: 0
23.3. 03:33 | Komunita

Platnost posledního patentu souvisejícího s Dolby Digital (AC-3) vypršela. Po MP3 se tak do Fedory oficiálně dostane také kodek AC-3.

Ladislav Hagara | Komentářů: 5
Jak se stavíte k trendu ztenčování přenosných zařízení (smartphony, notebooky)?
 (14%)
 (2%)
 (71%)
 (3%)
 (10%)
Celkem 940 hlasů
 Komentářů: 72, poslední 1.3. 11:16
    Rozcestník

    Dotaz: SELECT * FROM @table

    8.4.2010 13:16 jura
    SELECT * FROM @table
    Přečteno: 908×

    Dobrý den,

    potřeboval bych poradit s..

    SET @tabulka='jméno_tabulky';

    SELECT * FROM @tabulka;

    tohle nechodí. Potřebuji měnit jméno tabulky v cyklu a to jméno ještě skládat z částí textu.

    Jak na to ? Chci to udělat pouze v SQL (Mysql).

     

    Děkuji Jura


    Řešení dotazu:


    Odpovědi

    okbob avatar 8.4.2010 13:29 okbob | skóre: 30 | blog: systemakuv_blog | Benešov
    Rozbalit Rozbalit vše Re: SELECT * FROM @table
    To také nejde - proměnná se nikdy nesmí objevit na pozici SQL identifikátoru (tabulka nebo sloupec). V MySQL je nutné použít prepared statements

    http://rpbouman.blogspot.com/2005/11/mysql-5-prepared-statement-syntax-and.html
    8.4.2010 14:13 cronin | skóre: 48
    Rozbalit Rozbalit vše Re: SELECT * FROM @table
    Cez prepared statement per-se to nepojde:

    [...]

    You can't just put a placeholder wherever you like. Parameter placeholders can appear only in those places inside the statement where you would normally expect an expression. In particular, you cannot use parameter placeholders to parameterize identifiers or entire statement structures.

    [...]

    V tom clanku to ukazuju v sekcii "Dynamic SQL"; pripada mi to ale ako dost velka prasacina.
    okbob avatar 8.4.2010 15:10 okbob | skóre: 30 | blog: systemakuv_blog | Benešov
    Rozbalit Rozbalit vše Re: SELECT * FROM @table
    Proč by to nešlo?
    SET @sql = 'SELECT ... FROM ' || @tabulka;
    PREPARE pst FROM @sql;
    EXECUTE pst;
    ...
    DEALLOCATE PREPARE pst;
    
    Jinak souhlas - je to dynamické SQL a s velkou pravděpodobností to je pra... , kterou by bylo možné řešit jinak a lépe, a bezpečněji.
    8.4.2010 15:35 kulik
    Rozbalit Rozbalit vše Re: SELECT * FROM @table
    Tak jak byl dotaz polozen to bez dynamickeho SQL rozhodne nepujde, tzn. tezko rict, ze by to byla prasecina. Samozrejme ze z vecneho hlediska se casto ukaze, ze ve skutecnosti neni zadny for cyklus potreba, natoz sestavovani nazvu tabulky z nekolika retezcu, ale to uz jen spekulujeme...
    9.4.2010 09:17 jura
    Rozbalit Rozbalit vše Re: SELECT * FROM @table
    Děkuji za rady. Co se týka toho dynamického SQL. Zpracovávám data, kdy se stejné operace opakují po jednotlivých rocích a těch roků je cca 40. Neustále opakovat stejnou část kódu pouze se změněnou podmínkou (WHERE v selectu) mi připadá nešikovné.

    Zdraví

    J.D.
    okbob avatar 9.4.2010 09:26 okbob | skóre: 30 | blog: systemakuv_blog | Benešov
    Rozbalit Rozbalit vše Re: SELECT * FROM @table
    Pak je otázkou, proč ta data nemáte v jedné tabulce nebo nepoužijete partitioning

    http://dev.mysql.com/doc/refman/5.1/en/partitioning.html
    9.4.2010 10:31 jura
    Rozbalit Rozbalit vše Re: SELECT * FROM @table

    Data jsou v jedné tabulce

    rok den mesic1 mesic2 ...mesic12

    1977 1 data...

    a já potřebuji

    datum data

    SQL skript mi to udělá pro jednotlivý rok, ale roků je více

    jo ten "partitioning" je dobrý tip. Mám ale mysql 5.0 a tak moždá důvod ke změně na 5.1. Zdraví Jura

    9.4.2010 11:08 Michal Kubeček | skóre: 71 | Luštěnice
    Rozbalit Rozbalit vše Re: SELECT * FROM @table
    Kolik promile měl člověk, který tu datovou strukturu navrhoval?
    9.4.2010 13:03 jura
    Rozbalit Rozbalit vše Re: SELECT * FROM @table
    CHMU
    9.4.2010 17:33 kulik
    Rozbalit Rozbalit vše Re: SELECT * FROM @table
    Jo tak z dnesniho pohledu to samozrejme vypada jako spatny vtip, ale podle vseho jde o nejakou historickou zalezitost, urcite to puvodne nebylo ulozene v relacni databazi a pravdepodobne vubec v zadne databazi. Ono z hlediska tisku sjetiny nebo prohlizeni na znakovem terminalu to muze byt celkem sikovny format pro datovy soubor, kdy se cely rok muze pekne vejit na jeden arch papiru apod.
    okbob avatar 9.4.2010 17:44 okbob | skóre: 30 | blog: systemakuv_blog | Benešov
    Rozbalit Rozbalit vše Re: SELECT * FROM @table
    Nesouhlasím, taková datová struktura je k ničemu ve všech případech. Data v rozumně navržené datové struktuře můžete snadno upravovat, snadno prohlížet - a snadno zobrazovat. Data, které lze pouze zobrazit a cokoliv jiného je drbání přes hlavu, jsou na pi...

    Čím dříve se toho zbavíte, tím lépe pro Vás - můžete mi věřit.
    9.4.2010 17:59 kulik
    Rozbalit Rozbalit vše Re: SELECT * FROM @table
    Hele ja tomu verim:-) A moje data to ani nejsou. Jen jsem mel ponekud OT pripominku, ze nemusi byt hned na miste posmivat se tomu, kdo to takto navrhl, protoze to mohl delat v dobe, kdy to byla vhodna reprezentace. Ne vzdycky existovalo snadne upravovani nebo prohlizeni dat. Uprava dat se treba naderovala na stitky a poslala na druhy konec Prahy, odkud se vystup vratil ve forme tisku treba za tyden. A kazdy byl rad, ze to ma na papire pekne pohromade a muze si to podtrhavat inkoustovou tuzkou. Jina vec je, ze to nekde prezilo az do dneska, ale jak je videt, tak se konverze prave resi...
    okbob avatar 9.4.2010 18:35 okbob | skóre: 30 | blog: systemakuv_blog | Benešov
    Rozbalit Rozbalit vše Re: SELECT * FROM @table
    ok :)

    Přežijí horší mrchy - slyšel jsem o šílenostech, které firmy přetáhly do SQL - aniž by to zgruntu přepsaly, a pak se divily, že to ve výsledku to je 10x pomalejší než v originále, ale už do toho zainvestovaly tolik, že to nezahodily.

    Doba štítků mne bohužel minula - když jsem nastoupil na výšku tak akorát vyřazovali poslední čtečku - a pak už štítky pamatuji jen jako vynikají materiál pro psaní poznámek - každý správný IT na VŠ měl kapsičku u košile nafutrovanou štítky :).

    9.4.2010 22:16 kuka
    Rozbalit Rozbalit vše Re: SELECT * FROM @table
    Jo jo, tech stitku se asi pouzivaly tuny a byl to takovy pekny tuhy papir, na poznamky idealni (a naopak treba na WC asi nic moc, mozna i proto ty zasoby nekterym vydrzely v kabinetech dodnes).

    Jsou vselijake veci, videl jsem treba system s cca 1700 tabulkami v Oracle, kde tabulky byly "roznasobene" treba podle tydnu a vzdycky v radku byly "vsechny hodnoty" z nejakych souboru mereni. Casto tam narazeli na limit nejvyse 1000 sloupcu v tabulce a pak existoval jakysi retizek souvisejicich tabulek (jejich nazvy mely vhodnou priponu), kam se radek "natahnul". Proste to tak meli predtim na mainframu a preklopili to. Programovalo se de facto hlavne nad oraclovskym dictionary, vyberove podminky vetsinou smerovaly tam (rok byl zakodovany ve jmenu schematu, cas a vecne vymezeni dat ve jmenu tabulky, do jmena sloupce se samozrejme taky par veci veslo). Kdyz uz se dohledala spravna tabulka, tak se vetsinou cela nalila nekam do excelu nebo jineho udelatoru a tam se to pak doprasilo. "Klasicky" SQL dotaz fakticky nebylo mozne napsat, takze ani nevadilo, ze tam SQL skoro nikdo neumel:-)
    11.4.2010 15:30 Michal Kubeček | skóre: 71 | Luštěnice
    Rozbalit Rozbalit vše Re: SELECT * FROM @table
    Jedna zásadní výhoda děrných štítků byla v tom, že ten papír kromě toho, že byl hodně pevný, byl zároveň hladký, takže se dalo bez poškození gumovat i mnohokrát po sobě.
    okbob avatar 9.4.2010 13:32 okbob | skóre: 30 | blog: systemakuv_blog | Benešov
    Rozbalit Rozbalit vše Re: SELECT * FROM @table
    To se skoro vyplati zahodit nebo si vytvorit paralelni tabulku s rozumnym navrhem. Takhle kvuli hloupemu navrhu budete dal pokracovat v silenostech. Dneska neni problem mit paralelni "rozumnou" tabulku, kterou budete aktualizovat pomoci triggeru.

    Ten design je vazne hoodne neprakticky - cim driv jej opustite, tim lepe pro Vas.
    9.4.2010 11:10 cronin | skóre: 48
    Rozbalit Rozbalit vše Re: SELECT * FROM @table
    Tak teda co sa meni, klauzula WHERE alebo klauzula FROM?
    9.4.2010 12:59 jura
    Rozbalit Rozbalit vše Re: SELECT * FROM @table
    Tady je kód pro leden
    # Leden
    create table rok1961_N01prac
    SELECT rok, den, N01 FROM teplota_denni where rok = 1961;
    DELETE FROM `rok1961_N01prac` WHERE `N01` IS NULL;
    ALTER TABLE `rok1961_N01prac` ADD `mesic` INT NOT NULL DEFAULT '1' COMMENT 'mesic v roce' AFTER `rok`;
    
    create table rok1961_N01
    SELECT concat(`rok`,'-',`mesic`,'-',`den`)  AS datum, N01   FROM `rok1961_N01prac`;
    ALTER TABLE `rok1961_N01` CHANGE `datum` `datum` DATE NOT NULL COMMENT 'datum';
    ALTER TABLE `rok1961_N01` ADD INDEX ( `datum` );
    DROP TABLE `rok1961_N01prac`;
    
    Potom spojím tabulky jednotlivých měsíců pomocí union a mám jeden rok.

    J.
    okbob avatar 9.4.2010 13:34 okbob | skóre: 30 | blog: systemakuv_blog | Benešov
    Rozbalit Rozbalit vše Re: SELECT * FROM @table
    jestli potrebujete jednorazove modifikovat db, tak si napiste skript, ktery bude generovat SQL prikazy, a nekomplikujte si zivot dynamickym SQL.
    9.4.2010 17:21 kulik
    Rozbalit Rozbalit vše Re: SELECT * FROM @table
    Z popsane struktury lze data vytahnout dotazem a naplnit do nove tabulky, neni na to potreba zadne extra cachrovani s pomocnymi tabulkami. Neznam Postgres, takze pouziju nejake veci z Oracle, analogie v Postgresu urcite existuje.

    1. Vytvorit tabulku MES mesicu s dvanacti radky (muze existovat jen pro potreby dotazu napr. pomoci select from dual).
    2. Joinovat tabulky OLD a MES s tim, ze hodnota co me zajima je ze sloupce odpovidajiciho mesici, napr. decode(MES.val, 1, OLD.M1, 2, OLD.M2, ....).
    3. Pro kazdou hodnotu ted mam jeden radek a vystup si vhodne poslepuju treba abych slozil datum z jednotlivych casti (OLD.rok, MES.val, OLD.den), pripadne nasledne profiltruju null hodnoty apod. jako v kazdem jinem dotazu.

    Samozrejme pokud je tabulka velka tak si to muzu omezit rokem a pustit v cyklu pres vsechny roky apod.
    14.4.2010 23:16 Sandokan
    Rozbalit Rozbalit vše Re: SELECT * FROM @table

    Možná mi něco uniklo, ale proč je nutné dělat každý rok zvlášť ??? Něco takového by mělo udělat stejnou práci(nevím přesně, jak to má MySQL s konverzí typů, ale chodit by to mělo)

     

     

    CREATE TABLE teploty

    SELECT cast(concat(`rok`,'-',`01`,'-',`den`) AS DATE) AS datum, N01 as teplota FROM teplota_denni

    UNION

    SELECT cast(concat(`rok`,'-',`02`,'-',`den`) AS DATE) AS datum, N02 as teplota FROM teplota_denni

    UNION

    ...

    SELECT cast(concat(`rok`,'-',`12`,'-',`den`) AS DATE) AS datum, N12 as teplota FROM teplota_denni ;

     

     

    ZDAR!

    23.4.2010 15:34 jura
    Rozbalit Rozbalit vše Re: SELECT * FROM @table
    Děkuji za sql kód. Chodí to jen jsem upravil concat.
    concat(`rok`,'-12-',`den`)

    Bohužel to sesype všechny ledny, unory atd... za sebe. Potřeboval bych, aby šly měsice postupně zasebou každý rok.

    Zdraví

    J.D.
    24.4.2010 08:08 Sandokan
    Rozbalit Rozbalit vše Re: SELECT * FROM @table
    Řekl bych, že k tomu se používá ORDER BY ... na konci příkazu, tedy :

    SELECT ..... ORDER BY 1 ;

    ZDAR!
    25.4.2010 14:06 jura
    Rozbalit Rozbalit vše Re: SELECT * FROM @table
    děkuji moc za pomoc. S ORDER je to přesně tak jak pořebuji.

    Zdraví

    Jura

    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.