Výsledky 1 až 3 z 3

Téma: procedury v MySQL (5.0)

Hybrid View

Předcházející příspěvek Předcházející příspěvek   Další příspěvek Další příspěvek
  1. #1

    Standardní procedury v MySQL (5.0)

    Snažím se proniknout do procedur a aktuálně řeším dva drobné problémy...

    1. nepřišel jsem na způsob, jak v parametru procedury předat název tabulky se kterou má pracovat. Pokud tuto proměnnou uvedu v SQL dotazu, server hlásí že tabulka "název_proměnné" neexistuje. Přitom jinde to funguje, např. při porovnávání parametrů.
    Mám tomu rozumět tak, že tohle v aktuální verzi nejde, nebo jsem něco přehlédl


    2. v proceduře řeším např. nalezení všech záznamů tabulky splňující určité podmínky a jejich změnu. Problém je v tom, že pokud použiju přímo UPDATE tab SET xx = yy WHERE ... a příslušné záznamy žádné NEJSOU, tak server při návratu z procedury generuje warnings, což mi nepřipadá zrovna v pořádku. A před každým UPDATE volat napřed SELECT Count(*) zase zbytečně navíc zatěžuje server a procedura se provádí 2x déle. Neexistuje způsob, jak to elegantně řešit?
    PC: GA-EP45-DS3R | E8400 + Ninja | 8GB | 80GB SSD X25-M | Zotac 9500GT | Asus Xonar DX | 2x Hauppauge WinTV HVR-1300 | Enermax MODU82+ 525W | Lancool K1
    Foto: Canon 20D | Tokina 12-24/4 | Canon 24-105/4 L IS USM | Canon 50/1,8 | Giottos MTL3361 + 1301-621C | Nodal Ninja NN5

  2. #2

    Standardní Re: procedury v MySQL (5.0)

    S MySQL jsem na moc pokročilé úrovni nedělal (ono to dříve ani moc nešlo), ale snad trochu poradím.

    1) Nikdy jsem neviděl, že by tohle někde fungovalo. Tabulky se kterýma pracuješ bys měl znát, opak svědčí o chybě v návrhu aplikace.
    Pokud to přesto potřebuješ, šlo by použít dynamické SQL, tj sestavení nějakého řetězce a spuštění jako SQL dotazu.
    http://forums.mysql.com/read.php?60,41372,47813

    2) Na to by tam měla být syntaxe SHOW ERRORS / WARNINGS, nebo SET SQL_NOTES / SQL_WARNINGS.

  3. #3

    Standardní Re: procedury v MySQL (5.0)

    Citace Původně odeslal peshwood Zobrazit příspěvek
    S MySQL jsem na moc pokročilé úrovni nedělal (ono to dříve ani moc nešlo), ale snad trochu poradím.
    mám pocit, že ono to moc nejde pořád, je to takový systém dopisovaný za pochodu a i když mám MySQL rád, přece jenom už narážím často na jeho limity a nedodělky..

    Citace Původně odeslal peshwood Zobrazit příspěvek
    1) Nikdy jsem neviděl, že by tohle někde fungovalo. Tabulky se kterýma pracuješ bys měl znát, opak svědčí o chybě v návrhu aplikace.
    Souhlas, ale jak řešit situaci, kdy mám 5 různých tabulek a přes proceduru potřebuju upravovat hodnoty vždy na stejném sloupci. Psát 5x stejnou proceduru pro každou tabulku mi připadá jako nesmysl, proto ten parametr

    Citace Původně odeslal peshwood Zobrazit příspěvek
    Pokud to přesto potřebuješ, šlo by použít dynamické SQL, tj sestavení nějakého řetězce a spuštění jako SQL dotazu.
    http://forums.mysql.com/read.php?60,41372,47813

    2) Na to by tam měla být syntaxe SHOW ERRORS / WARNINGS, nebo SET SQL_NOTES / SQL_WARNINGS.
    Super, tohle je přesně to co jsem potřeboval (a co jsem nenašel ani v opěvované knížce od OReilly, MySQL Stored Procedure Programming). Za to SET se hluboce stydím - tohle mě mohlo napadnout..

    K+
    PC: GA-EP45-DS3R | E8400 + Ninja | 8GB | 80GB SSD X25-M | Zotac 9500GT | Asus Xonar DX | 2x Hauppauge WinTV HVR-1300 | Enermax MODU82+ 525W | Lancool K1
    Foto: Canon 20D | Tokina 12-24/4 | Canon 24-105/4 L IS USM | Canon 50/1,8 | Giottos MTL3361 + 1301-621C | Nodal Ninja NN5

Informace o tématu

Users Browsing this Thread

Toto téma si právě prohlíží 1 uživatelů. (0 registrovaných a 1 anonymních)

Podobná témata

  1. [MySQL & PHP] Stored Procedures => Ztrata spojeni s MySQL
    Založil MEluZíNa v sekci fóra Programování
    Odpovědí: 10
    Poslední příspěvek: 11.05.2007, 16:58
  2. IP Accounting a mysql
    Založil Gregy v sekci fóra Operační systémy na bázi Unixu
    Odpovědí: 2
    Poslední příspěvek: 31.01.2007, 22:01
  3. cPanel - upgrade MySQL 4.1 na MySQL 5
    Založil MEluZíNa v sekci fóra Operační systémy na bázi Unixu
    Odpovědí: 0
    Poslední příspěvek: 02.05.2006, 17:40
  4. MYSQL - dotaz
    Založil cd-mann v sekci fóra Programování
    Odpovědí: 13
    Poslední příspěvek: 01.11.2004, 22:25
  5. API moduly mysql a php se lisi :(((
    Založil Koty v sekci fóra Operační systémy na bázi Unixu
    Odpovědí: 4
    Poslední příspěvek: 23.11.2003, 22:03

Pravidla přispívání

  • Nemůžete zakládat nová témata
  • Nemůžete zasílat odpovědi
  • Nemůžete přikládat přílohy
  • Nemůžete upravovat své příspěvky
  •