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 21:11 | Zajímavý software

    Na stránkách PostgreSQL bylo představeno LibreDB Studio. Jedná se o open-source self-hostované SQL IDE pro (nejenom) PostgreSQL v prohlížeči. Zdrojové kódy jsou k dispozici na GitHubu pod licencí MIT.

    Ladislav Hagara | Komentářů: 0
    včera 16:00 | Nová verze

    Byla vydána nová verze 12.0 media serveru Jellyfin (Wikipedie). Přehled novinek v poznámkách k vydání. Pro vyzkoušení je k dispozici Demo Server. Jellyfin je fork media serveru Emby, původně Media Browser.

    Ladislav Hagara | Komentářů: 0
    včera 04:44 | Bezpečnostní upozornění

    V MikroTik RouterOS bylo nalezeno šest zranitelností společně pojmenovaných MikroTrick umožňujících útočníkovi, pokud má přístup k SSH, získat plnou kontrolu nad zařízením bez nutnosti autentizace. Ve verzích RouterOS 7.25beta3, 7.24.2, 7.23.4 a 6.49.21 je již opraveno.

    Ladislav Hagara | Komentářů: 6
    včera 04:00 | Nová verze

    Byla vydána verze 9.5 open source unixového operačního systému NetBSD (Wikipedie). Přehled novinek v poznámkách k vydání. Jedná se poslední vydání řady NetBSD 9. Doporučen je přechod na NetBSD 11 nebo NetBSD 10.

    Ladislav Hagara | Komentářů: 0
    7.9. 21:44 | IT novinky

    Akční adventura State of Mind je na portále GOG.com zdarma, akce trvá do 10. září.

    ʚĭɞ 🍉 | Komentářů: 0
    7.9. 13:22 | IT novinky

    Na Kickstarteru běží kampaň na podporu malého robotický psa Petoi Quaddle. Postaven je na ESP32-S3. V několika variantách. S řadou senzorů. Programovat lze pomocí Pythonu, C++ nebo i vizuálních bloků. Zkoušet a trénovat lze v simulátoru.

    Ladislav Hagara | Komentářů: 1
    6.9. 22:11 | Pozvánky

    Dětem začala škola a nedobrovolně se tak musí vzdělávat. Avšak pro dospělé, kteří se chtějí vzdělávat nebo naopak se o vědomosti podělit, je tu Virtuální Bastlírna - jako každý měsíc si můžete online a zdarma nezávazně popovídat o vědě a technice nejen s bastlíři, ale i s vývojáři, vědci nebo profesory. A čemu se strahováci budou věnovat? Blíží se KiCAD 11 s nespočtem novinek, z nichž zde musí zmínit alespoň možnost kótování a závislostí z

    … více »
    bkralik | Komentářů: 1
    6.9. 19:33 | Komunita

    Asahi Linux, tj. Linux pro Apple Silicon, oficiálně podporuje čipy M3 (M3, M3 Pro a M3 Max).

    Ladislav Hagara | Komentářů: 8
    6.9. 15:44 | IT novinky Ladislav Hagara | Komentářů: 2
    6.9. 15:00 | IT novinky

    Server SiFive BigSky SF-2U870 2U je založený na jádře SiFive P870-D, zatím je naintegrovaných 32 jader 256 GB RAM 2 GHz, škálovat lze do 256 jader na čip. O něco podrobnější popis serveru v článku SiFive BigSky Ships the First RISC-V Server. Is the GPU Head Node the Prize? na futurumgroup.com. Asi ani tento čip nebude na úrovni nejlepších 64-bit ARMů a AMD Zenů, ale splňuje RVA23 specifikaci a je podporovaný Ubuntu 26.04 LTS a RHEL 10. V článku je

    … více »
    Pavel Píša | Komentářů: 1
    Které desktopové prostředí na Linuxu používáte?
     (10%)
     (7%)
     (4%)
     (21%)
     (29%)
     (7%)
     (5%)
     (2%)
     (14%)
     (21%)
    Celkem 2623 hlasů
     Komentářů: 31, poslední 13.8. 00:27
    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: 2357×
    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.