SQL különbségek
2009-01-11T23:31:34+01:00
2009-01-13T18:36:32+01:00
2022-07-25T17:51:16+02:00
  • Hát ezt lehet ragozni .... bár nem vagyok egy SQL-guru, de azért a MySQL CONNECTOR-ok közötti különbség problematikáját sikerült átélnem ......
    Mutasd a teljes hozzászólást!
  • az MS És MySQL közötti eltérés még nem is akkora baj. De amikor megírsz egy progit és kitelepíted és közlik veled, hogy nem teszik fel a Te MySQL-ed, mert van nekik sajátjuk és akkor kiderül, hogy a Te MySQL-ed nem ugyanúgy működik mint a másik MySQL...
    Mutasd a teljes hozzászólást!
  • És csak MySQL és MSSQL van? Szerintem van még egy pár. Az összehasonlítás elég lenne diplomamunkának
    Mutasd a teljes hozzászólást!
  • Én a belső függvényekre gondoltam.

    pl. egy group_concat nincs mssql-ben

    Egy mssql nem szereti a
    select valami, valami2, sum(valami3) ... group by valami
    formát. nehezményzi, hogy a "valami2-el mi legyen. Mysql simán visszaad "valamit" (egyet) a csoport elemei közül
    Mutasd a teljes hozzászólást!
  • Nem túl kreatív a hozzászólásom, csak pont ebben vagyok, ezért nem bírtam megállni, hogy valamit hozzátegyek. Ma egész éjjel azért virrasztottam, mert egy olyan hibát kellett kinyomoznom, amit az MS és a MySQL közti eltérés okozott. Kiderült végül, hogy pontosan ugyanarra a query -re a kettő más szerint rendezva adta a sorokat, és ennek következtében teljesen elkeveredtek bizonyos dolgok. Hogy miért rendezi máshogy őket a kettő, arról egyelőre nincs fogalmam. Egy SQL expert biztos tudná, de nekem magas.

    Szóval aki azt hiszi, hogy search and replace -szel át lehet alakítani egy kódot egyik SQL -ről a másikra, az nagyot fog koppanni. Én is ráfaragtam ezzel a tévhitemmel.
    Mutasd a teljes hozzászólást!
  • Bocsi, de szvsz ez a téma inkább a társalgóba illene..
    Talán segít .. ( Celko, Joe SQL felsőfokon)

    Kiemelés a link-ről:

    Az SQL felsőfokon a leendo SQL-szakértők könyve: az első, amely kimondottan a haladó módszereket mutatja be. Joe Celko, az SQL tudora, szórakoztató, közvetlen nyelven ismertet meg minket a legjobb megoldásokkal, a helyes gondolkodásmód elsajátítására helyezve a hangsúlyt, melynek révén a legtöbbet hozhatjuk ki az SQL-ből. E gondolkodásmód lényege, hogy a hagyományos, eljárásközpontú megközelítés helyett a logikai, illetve halmaz alapú elemzést helyezzük a középpontba: ez jelenti a nagy ugrást, melynek révén mi is SQL-guruvá válhatunk. Celko az SQL legnehezebb területeivel foglalkozik: például az összesíto függvények muködésével, a NULL helyes alkalmazásával, vagy azzal, miért és hogyan érdemes ál-tömböket használni.
    Mutasd a teljes hozzászólást!
  • A függvények neveinek eltérését már megoldottam. Mivel az adatbázis osztályok felülete megegyezik. Az sql függvény egy lekérdezés erőforrást burkoló objektumot ad vissza. Amelynek felületei ugyancsak megegyeznek.

    $row=Db::sql("sql...")->getRow();

    Jelen esetben itt csak egyszerű rekordkezelésről lenne szó.
    INSERT,DELETE,UPDATE plusz a táblák információjának lekérdezéséről. Mert ha tudom, hogy mi az elsődleges kulcs, akkor a WHERE részt úgy adom meg, hogy ne kelljen limitet használnom.

    Ezen kívül biztos nincs más? Vagy tudsz esetleg valami oldalt ami ezt a témát boncolgatja?
    Mutasd a teljes hozzászólást!
  • pl.
    - más függvények
    - más tárolt eljárás kezelés (van vagy se)
    - subselect van-e
    - ha van subselect, kötelező -e nevet adni és kell-e az "as"
    - pl. mssql "top" (mint anincs limit-et tudod is)


    Mutasd a teljes hozzászólást!
  • Sziasztok!

    Szakdolgozatként PHP keretrendszert írok és szeretném ha az adatbázis réteg elfedné az adatbázis típusát.

    A dolgot a következő képen képzeltem el.:

    Csinálok minden adatbázis típusra egy-egy osztályt. Ezek megoldják a kapcsolódást és az adott típusú adatbázison egy sql($sql,$params) metódus segítségével műveleteket tudnék végrehajtani.

    Ezután egy egyke osztály példányosít ezekből egyet magának, így ezzel a hívással lehetne a műveleteket végrehajtani.

    Db::sql($sql,$params);

    Ezt után Table,ActiveRecord,DataView... osztályok tudnák használni, anélkül, hogy tudnák milyen típusú adatbázisról is van szó.

    Én eddig csak MySQL-el foglalkoztam behatóbban és nem szeretnék az SQL-ek közötti különbségek hibájába belefutni.
    Például úgy tudom, hogy az Ms SQL-ben nincs LIMIT. Tehát ha a Table osztályban az SQL-ben LIMIT-et használok, akkor Ms SQL esetén el fog szállni.

    Szeretném ha megírnátok, hogy alapvetően milyen különbségek vannak még az SQL-ek között. Gondolok itt például egy tábla adatainak lekérdezésére (primary_key stb.).

    Előre is köszönöm a segítséget.
    Mutasd a teljes hozzászólást!
abcd