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 13:33 | Bezpečnostní upozornění

    Více než 600 aplikací postavených na PHP frameworku Laravel je zranitelných vůči vzdálenému spuštění libovolného kódu. Útočníci mohou zneužít veřejně uniklé konfigurační klíče APP_KEY (např. z GitHubu). Z více než 260 000 APP_KEY získaných z GitHubu bylo ověřeno, že přes 600 aplikací je zranitelných. Zhruba 63 % úniků pochází z .env souborů, které často obsahují i další citlivé údaje (např. přístupové údaje k databázím nebo cloudovým službám).

    Ladislav Hagara | Komentářů: 0
    dnes 00:11 | Nová verze

    Open source modální textový editor Helix, inspirovaný editory Vim, Neovim či Kakoune, byl vydán ve verzi 25.07. Přehled novinek se záznamy terminálových sezení v asciinema v oznámení na webu. Detailně v CHANGELOGu na GitHubu.

    Ladislav Hagara | Komentářů: 0
    včera 20:44 | IT novinky

    Americký výrobce čipů Nvidia získal od vlády prezidenta Donalda Trumpa souhlas s prodejem svých pokročilých počítačových čipů používaných k vývoji umělé inteligence (AI) H20 do Číny. Prodej těchto čipů speciálně upravených pro čínský trh by tak mohl být brzy obnoven, uvedla firma na svém blogu. Americká vláda zakázala prodej v dubnu, v době eskalace obchodního sporu mezi oběma zeměmi. Tehdy to zdůvodnila obavami, že by čipy mohla využívat čínská armáda.

    Ladislav Hagara | Komentářů: 7
    včera 17:22 | Nová verze

    3D software Blender byl vydán ve verzi 4.5 s prodlouženou podporou. Podrobnosti v poznámkách k vydání. Videopředstavení na YouTube.

    Ladislav Hagara | Komentářů: 0
    14.7. 22:22 | Komunita

    Open source webový aplikační framework Django slaví 20. narozeniny.

    Ladislav Hagara | Komentářů: 0
    14.7. 16:11 | Komunita

    V Brestu dnes začala konference vývojářů a uživatelů linuxové distribuce Debian DebConf25. Na programu je řada zajímavých přednášek. Sledovat je lze online.

    Ladislav Hagara | Komentářů: 0
    14.7. 11:33 | IT novinky

    Před 30 lety, tj. 14. července 1995, se začala používat přípona .mp3 pro soubory s hudbou komprimovanou pomocí MPEG-2 Audio Layer 3.

    Ladislav Hagara | Komentářů: 28
    14.7. 10:55 | IT novinky

    Výroba 8bitových domácích počítačů Commodore 64 byla ukončena v dubnu 1994. Po více než 30 letech byl představen nový oficiální Commodore 64 Ultimate (YouTube). S deskou postavenou na FPGA. Ve 3 edicích v ceně od 299 dolarů a plánovaným dodáním v říjnu a listopadu letošního roku.

    Ladislav Hagara | Komentářů: 23
    13.7. 17:55 | Zajímavý projekt

    Společnost Hugging Face ve spolupráci se společností Pollen Robotics představila open source robota Reachy Mini (YouTube). Předobjednat lze lite verzi za 299 dolarů a wireless verzi s Raspberry Pi 5 za 449 dolarů.

    Ladislav Hagara | Komentářů: 17
    11.7. 16:44 | Komunita

    Dnes v 17:30 bude oficiálně vydána open source počítačová hra DOGWALK vytvořena v 3D softwaru Blender a herním enginu Godot. Release party proběhne na YouTube od 17:00.

    Ladislav Hagara | Komentářů: 3
    Jaký je váš oblíbený skriptovací jazyk?
     (59%)
     (26%)
     (7%)
     (3%)
     (1%)
     (1%)
     (4%)
    Celkem 399 hlasů
     Komentářů: 16, poslední 8.6. 21:05
    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: 2120×
    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.