Portál AbcLinuxu, 21. července 2025 22:50


Dotaz: view v MySQL

8.11.2009 18:56 Honza
view v MySQL
Přečteno: 1213×
Odpovědět | Admin
Ahoj, moc se v MySQL nevyznam, ale mam vytvoreny View. Jak do nej pridam dalsi polozku z dane databaze?
Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

8.11.2009 18:59 FooBar
Rozbalit Rozbalit vše Re: view v MySQL
Odpovědět | | Sbalit | Link | Blokovat | Admin
Nepridas. View je v prekladu pohled, a to je presne to, co se deje. View ti umoznuje mit nejaky nahled na data v databazi (z nejake perspektivy, definovane tim, jaky dotaz pri tvorbe pohledu pouzijes), ale abys pridaval data, potrebujes pridavat data primo do tech tabulek nad kterymi view mas.

Da se to prirovnat k tomu, ze na mrakodrap se muzes koukat ze zeme, nebo z helikoptery. Pokazde uvidis neco jineho, ale abys to co vidis zmenil, musis k tomu mrakodrapu naklusat a pristavet mu patro (nebo ho celej vyhodit do vzduchu;) ).
8.11.2009 19:12 Honza
Rozbalit Rozbalit vše Re: view v MySQL
Jasny, to chapu. Ja potrebuju do tabulky view "pridat" dalsi polozku, na kterou ma "koukat", ale nevim jak...
Petr Kočvara avatar 8.11.2009 19:28 Petr Kočvara | skóre: 16 | Frýdek-Místek
Rozbalit Rozbalit vše Re: view v MySQL
Pomocí ALTER VIEW předefinovat stávající pohled a přidat do něj potřebnou položku.
8.11.2009 19:57 Honza
Rozbalit Rozbalit vše Re: view v MySQL
Diky, ale tomu nerozumim.. muzete to popsat nejak podrobnejs?
8.11.2009 20:06 dustin | skóre: 63 | blog: dustin
Rozbalit Rozbalit vše Re: view v MySQL
Zkusil jsi dát do googlu mysql alter view?
9.11.2009 10:28 Honza
Rozbalit Rozbalit vše Re: view v MySQL
Tak to mi opravdu nepomohlo, ale presto diky.
Max avatar 9.11.2009 13:01 Max | skóre: 72 | blog: Max_Devaine
Rozbalit Rozbalit vše Re: view v MySQL
Tak vždycky existuje smazání viewu a vytvoření nového s novýma položkama ;-)
Zdar Max
Měl jsem sen ... :(
9.11.2009 13:17 Honza
Rozbalit Rozbalit vše Re: view v MySQL
To jsem taky nakonec udelal. Nepamatoval jsem si ale tu nekonecnou syntaxi, ale nakonec jsem ji nasel v historii mi MySQL, takze jsem pridal jen tu dalsi potrebnou polozku.

On Phpmyadmin neumi vytvaret a editovat views?
Max avatar 9.11.2009 13:25 Max | skóre: 72 | blog: Max_Devaine
Rozbalit Rozbalit vše Re: view v MySQL
Abych pravdu řekl, nezkoušel jsem (aktuální verze by to ale snad měla umět). Když jsem naposledy dělal pohledy v mysql, tak v mysql konzoli. Navíc myslím, že ze začátku nebyla v mysql podpora alter view a musel se dělat drop a znovu vytvoření. Ale nejsem si tím 100pro jist.
Zdar Max
Měl jsem sen ... :(
11.11.2009 16:59 Šangala | skóre: 56 | blog: Dutá Vrba - Wally
Rozbalit Rozbalit vše Re: view v MySQL
A kdyby to náhodou nebylo v historii tak se hodí:
SHOW CREATE VIEW nazev_view;
A před prvním AS to zkopírovat (před prvním 'AS' je název VIEW) a vložit za:
CREATE OR REPLACE VIEW

A výsledek bude vypadat nějak takto:
CREATE OR REPLACE VIEW nazev_view AS select t1.id AS id from t1;

V phpMyAdmin (2.9.1) je VIEW jako tabulka (jiná ikonka) a pokud se vybere tak to vyvolá SQL příkaz reprezentující VIEW, který stačí jen upravit a vložit za zmiňované.
CREATE OR REPLACE VIEW nazev_view AS
a spustit;
To, že trpíš stihomamem, ještě neznamená, že po tobě nejdou. ⰞⰏⰉⰓⰀⰜⰉ ⰗⰞⰅⰜⰘ ⰈⰅⰏⰉ ⰒⰑⰎⰉⰁⰕⰅ ⰏⰉ ⰒⰓⰄⰅⰎ ·:⁖⁘⁙†
12.11.2009 11:45 kulik
Rozbalit Rozbalit vše Re: view v MySQL
Dotaz se tykal neceho jineho, ale presto upresnim. Nevim jak na MySQL, nicmene obecne toto neplati. Napriklad v Oracle lze provadet nad view update a celkem na tom nevidim ani "logicky" nic divneho - ze se na neco divam ruzne prece nemusi znamenat, ze s tim nemuzu delat totez.
12.11.2009 14:30 Šangala | skóre: 56 | blog: Dutá Vrba - Wally
Rozbalit Rozbalit vše Re: view v MySQL
Ano, u oracle je možné za určitých okolností stvořit "updatovatelné view".
Ale k logice bych napsal: "slůvko ‚View‘ samo o sobě evokuje operaci ‚read only‘" :).
Dívat se na něco a něco dělat je rozdíl. :):):)
To, že trpíš stihomamem, ještě neznamená, že po tobě nejdou. ⰞⰏⰉⰓⰀⰜⰉ ⰗⰞⰅⰜⰘ ⰈⰅⰏⰉ ⰒⰑⰎⰉⰁⰕⰅ ⰏⰉ ⰒⰓⰄⰅⰎ ·:⁖⁘⁙†
12.11.2009 18:13 kulik
Rozbalit Rozbalit vše Re: view v MySQL
Pochopitelne za urcitych okolnosti, ale ty predpoklady, ktere musi byt splnene, jsou celkem rozumne. A pomoci instead of triggeru lze ucinit modifikovatelnymi i hodne slozita views, je to pak samozrejme tak trochu "podfuk", nicmene to uzivatele zajimat nemusi, pokud to funguje. Muze to byt velka vyhoda v pripade, ze treba pouzivate nejaky framework, ktery umi zobrazovat data z tabulek a generovat inserty nebo updaty vuci nim na zaklade uzivatelskych akci, ale chcete mu poskytnout abstrakci nad datovym modelem. Views pak definuji interface mezi datovou a prezentacni vrstvou a ty se mohou vyvijet nezavisle na sobe, programatori prezentacni vrstvy vubec nemuseji znat skutecny datovy model, dotazy, ktere pisi, jsou typicky jednodussi atd.
13.11.2009 16:04 FooBar
Rozbalit Rozbalit vše Re: view v MySQL
Samozrejme. Taky to jde resit napr. v PostgreSQL pres RULES. Ale to neni obecna vlastnost pohledu, je to hezke a mile rozsireni lokalni pro jednotlive RDBMS.
13.11.2009 09:40 Jan Forman | skóre: 10 | Plzeň
Rozbalit Rozbalit vše Re: view v MySQL
V MySQL update nad pohledem také normálně funguje... původní dotaz zněl na modifikaci pohledu... myslím že i to funguje normálně.
13.11.2009 16:08 FooBar
Rozbalit Rozbalit vše Re: view v MySQL
To neni pravda, hromada views proste z definice update nemuze podporovat. Viz: http://dev.mysql.com/doc/refman/5.0/en/view-updatability.html
14.11.2009 15:23 Jan Forman | skóre: 10 | Plzeň
Rozbalit Rozbalit vše Re: view v MySQL
:-) jo to je fakt, ale tohle naštěstí od views nepotřebuju... většinou mi stačí že aplikace a b c d e f sdílí stejná data a můžou je upravovat aniž by jim bylo jasný kde jsou a to normálně funguje. složitější views jsem nezkoušel... vlastně by to mohlo bejt praktický, ale zatím si vystačím bez toho, třeba zjistím že se bez toho nedá žít :-)

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.