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 20:44 | Zajímavý software

    Byly publikovány zdrojové kódy počítačové hry Unturned. Pro nekomerční účely. V plánu je přelicencování pod MIT. Hra Unturned je postavena nad multiplatformním herním enginem Unity.

    Ladislav Hagara | Komentářů: 0
    dnes 15:55 | IT novinky

    První česká družice navržená a sestavená výhradně studenty se dostala na oběžnou dráhu Země. Družice KOSTKA, kterou vyvinul studentský tým YSpace z Vysokého učení technického v Brně (VUT), dnes odstartovala na palubě rakety Falcon 9 společnosti SpaceX v rámci mise Transporter-17 z kalifornské základny Vandenberg Space Force Base.

    Ladislav Hagara | Komentářů: 0
    dnes 05:00 | IT novinky

    Po nákresech ovladače Steam Controller a puku společnost Valve na svém GitLabu publikovala projekt Inkterface, tj. podrobný návod (PDF, video v mp4) na sestavení předního panelu s e-papírovým displejem pro Steam Machine pro zobrazování systémových informací. Použity jsou součástky od společnosti Adafruit.

    Ladislav Hagara | Komentářů: 0
    dnes 04:00 | Bezpečnostní upozornění

    V jádře Linux byla nalezena a v dubnu letošního roku v upstreamu opravena kritická zranitelnost Bad Epoll aneb CVE-2026-46242. Jedná se o zranitelnost typu "race-condition use-after-free", která běžnému uživateli umožňuje získat práva roota. Na distribucích Linuxu i na Androidu. Dokonce i zevnitř sandboxu prohlížeče Chrome. Chyba byla do Linuxu zavedena v dubnu 2023, tj. Linux 6.4.

    Ladislav Hagara | Komentářů: 0
    včera 23:22 | Nová verze

    Byla vydána nová verze 10.4 sady aplikací pro SSH komunikaci OpenSSH. Přináší řadu důležitých bezpečnostních oprav, vylepšení funkcí a oprav chyb. Vyzkoušet lze experimentální podporu postkvantového algoritmu mldsa44-ed25519.

    Ladislav Hagara | Komentářů: 0
    včera 16:33 | Zajímavý projekt

    Open Printer je otevřená kompaktní tiskárna od Open Tools. Brzy by měla být spuštěna kampaň na její podporu na Crowd Supply. Současně by měly být uvolněny zdrojové kódy. Postavena je na Raspberry Pi Zero W a STM32. Používá inkoustové kazety HP 302.

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

    Byla vydána nová verze 3.28.0 FreeRDP, tj. svobodné implementace protokolu RDP (Remote Desktop Protocol). Opraveno bylo 8 zranitelností.

    Ladislav Hagara | Komentářů: 0
    4.7. 23:33 | IT novinky

    Čeští policisté společně se svými tureckými kolegy zadrželi 51 lidí, kteří se podle kriminalistů podíleli na provozu podvodného call centra v Istanbulu. Skupina je spojena s 1173 případy podvodů na českých občanech, při kterých vznikla škoda přes 553 milionů korun.

    Ladislav Hagara | Komentářů: 7
    3.7. 03:55 | Nová verze

    Immich byl vydán v nové verzi 3.0.0. Jedná se o alternativu k výchozím aplikacím od Googlu a Applu pro správu fotografií a videí umožňující vlastní hosting serveru Immich. K vyzkoušení je demo. Immich je součástí balíčků open source aplikací FUTO. Zdrojové kódy jsou k dispozici na GitHubu pod licencí AGPL-3.0.

    Ladislav Hagara | Komentářů: 5
    3.7. 02:55 | IT novinky

    Společnost Juno Computers prodávající počítače s předinstalovaným Linuxem má nově v nabídce linuxový tablet Juno Tab 4 - WiFi. Na výběr je Debian, Ubuntu a Kubuntu. Předobjednat jej lze za 949 liber (26 500 korun).

    Ladislav Hagara | Komentářů: 0
    Které desktopové prostředí na Linuxu používáte?
     (10%)
     (8%)
     (2%)
     (17%)
     (31%)
     (4%)
     (6%)
     (2%)
     (16%)
     (25%)
    Celkem 2072 hlasů
     Komentářů: 30, poslední 3.4. 20:20
    Rozcestník
    Štítky: není přiřazen žádný štítek


    Dotaz: Vytvoření tabulky v PL-SQL proceduře

    9.11.2009 22:29 tascoa | skóre: 11
    Vytvoření tabulky v PL-SQL proceduře
    Přečteno: 2169×
    Dobrý den, poradíte mi někdo, kde mám chybu při vytváření tabulky v pl/sql proceduře?
    create or replace procedure kopieTabulky(jmeno_tabulky VARCHAR2)
    as 
    begin
      execute immediate 'create table jmeno_tabulky as select * from zamestnanec';
    end;
    následně spustím:
    execute kopieTabulky('empT');
    
    ORA-Error:
    ORA-00955: název je již užíván existujícím objektem
    ORA-06512: na "dbschema.KOPIETABULKY", line 4
    ORA-06512: na line 2
    Děkuji za rady.

    Odpovědi

    10.11.2009 10:29 Robo
    Rozbalit Rozbalit vše Re: Vytvoření tabulky v PL-SQL proceduře
    a naco chces vytvarat tabulku procedurou? Vyzera to, ze ta tabulka uz existuje.
    10.11.2009 12:16 jekub
    Rozbalit Rozbalit vše Re: Vytvoření tabulky v PL-SQL proceduře
    execute immediate 'create table '||jmeno_tabulky||' as select * from zamestnanec'
    10.11.2009 17:27 Ivan
    Rozbalit Rozbalit vše Re: Vytvoření tabulky v PL-SQL proceduře
    Tohle je blbost a nikdy to nemuze poradne fungovat. Podobny veci delali lidi ktery prechazeji s MSSQL, Accessu nebo MySQL. Ackoliv se to nezda tak PL/SQL je kompilovany jazyk, ktery je zpracovavany nejakou virtualni masinou. Ono to neni na prvni pohled videt, protoze Oracle si uklada numericky object_id pro vsechny tabulky, pohledy a procedury a taky zna dependecy tree pro vsechny objekty. Pokud dojde k zmene definice objektu, tak se taky rekompiluji zavisle objekty. Takze nemuzete v PL/SQL procedure dropnout a zase vytvorit tabulku, pokud na ni ta sama procedura zavisi.

    Obecne plati, ze v Oracle by nikdy nemely volat DDL na produkcnim systemu - protoze k tomu proste neni duvod. Na to ceho chcete dosahnout urcite existuji jine prostredky.
    10.11.2009 23:15 tascoa | skóre: 11
    Rozbalit Rozbalit vše Re: Vytvoření tabulky v PL-SQL proceduře
    Tak jak byste prosím řešil následující zadání v testu v nejmenovaném předmětu na nejmenované vysoké škole:

    Napiste ulozenou PL/SQL proceduru KopieTabulky(jmeno_tabulky), ktera vytvorı tabulku se jmenem jmeno_tabulky_cp, ktera bude obsahovat stejne atributy se stejnymi datovymi typy jako puvodnı tabulka. Do nove tabulky pak zkopırujte vsechny zaznamy...
    11.11.2009 03:13 Ivan
    Rozbalit Rozbalit vše Re: Vytvoření tabulky v PL-SQL proceduře
    No jestli je to do skoly, tak ... Ale v praxi bych udelal: create materialized view table_copy as select * from table;

    begin dbms_mview.refresh('TABLE_COPY'); end;

    To co po tobe chteji je pouziti dynamickyho SQL v procedure. Bohuzel zrovna tohle je dost nestasny pouziti, kterymu by ses mel obloukem vyhnout.
    11.11.2009 08:41 kulik
    Rozbalit Rozbalit vše Re: Vytvoření tabulky v PL-SQL proceduře
    To je naprosty nesmysl. To, ze je jmeno tabulky pouzite v execute immediate, nevytvari zadnou zavislost procedury na tabulce. Tento zpusob osetreni databazovych objektu se bezne pouziva, je to trivialni programatorsky postup - co chci delat opakovane (mit to pod kontrolou, logovat to,...), vytahnu si do funkce. Samozrejme aplikace provadejici DDL nejsou typicke, ale napriklad v datovych skladech jde o velmi casty postup - vytvoreni a zruseni pomocnych tabulek, truncate stage tabulek, exchange partition,... jsou vsechno velmi smysluplne DDL operace. Moudro "Obecne plati, ze v Oracle by nikdy nemely volat DDL na produkcnim systemu" je od tebe nebo jsi ho nekde vycetl (v takovem pripade by me hodne zajimalo kde).
    11.11.2009 09:55 tascoa | skóre: 11
    Rozbalit Rozbalit vše Re: Vytvoření tabulky v PL-SQL proceduře
    neexistuje neco jako:

    create table tab_copy as desc tab_orig;

    ??? nikde jsem to nevycetl...
    11.11.2009 10:40 melkors | skóre: 13 | blog: kdo_chce_kam
    Rozbalit Rozbalit vše Re: Vytvoření tabulky v PL-SQL proceduře
    create table KOPIE as select * from ORIG;
    11.11.2009 11:38 kulik
    Rozbalit Rozbalit vše Re: Vytvoření tabulky v PL-SQL proceduře
    Pripadne s podminkou typu where 1 = 2, pokud chci jen stejne sloupecky bez dat. Nevylucuju ze na to existuje vhodna funkce v nektrem z dbms* baliku, ale ja jsem zvykly to delat takhle.
    13.2.2011 10:01 AZOR
    Rozbalit Rozbalit vše Re: Vytvoření tabulky v PL-SQL proceduře
    Je na to dbms_metadata.get_dll , ktera vrati kazde ddl z objektu. Ale normalni clovek pouziv select * from samicky where 1=23;
    11.11.2009 13:22 Ivan
    Rozbalit Rozbalit vše Re: Vytvoření tabulky v PL-SQL proceduře
    Takhle zavislost na tabulce samozrejme nevznikne, ale pak tuhle proceduru nemuzete volat z cehokoliv co na te tabulce zavisi. Nekdy to muze byt docela orisek, prijit na to co invaliduje proceduru, kterou volate. Truncate a partition management jsou samozrejme operace ktere do produkce patri. Pokud ale nekdo neumi napsat poradne join a resi to tak, ze si dropne pomocnou tabulku, pak ji zase vytvori a pak se ji pokusi pouzit v nejakym dotazu, tak ma proste na Oracle smulu. Takovyhle postupy se daji pouzit tak na Accessu nebo na MySQL. Takze mate pravdu to "mourdo" musim vzit zpet, ale mam jine - produkci be se melo provatet co nejmene operaci ktere vyzaduji library cache pin. A treba to dropnuti a znovu vytvoreni tabulky vyzaduje rekompilaci vsech PL/SQL procedur, ktere na ni zavisi.

    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.