- 1
[Opened] DAO : limit réservé a une requête de type SELECT ?
Posted by Yhann on 02/14/2010 18:35
Bonjour,
Après plusieurs minutes à essayer de comprendre pourquoi une requête UPDATE avec une clause "LIMIT offset, 100" ne fonctionnait pas, je m'aperçois, en éditant le fichier compilé de ma DAO, que la clause limite est absente.
Et effectivement, en me replongeant dans la doc, je m'aperçois que la clause "limit" semble limitée (sans jeu de mot :-)) aux requêtes de type SELECT...
Vous confirmez ? Si oui, cela va t-il évoluer ? Ou faut-il passer par une méthode php dans le fichier XML ?
J'en viens à me poser la question suivante : lorsqu'on maîtrise relativement bien SQL, ne vaut-il pas mieux utiliser jDb systématiquement ? C'est pour moi plus rapide que d'écrire des fichiers XML. Le problème, c'est que je perds la liaison entre les DAO et les formulaires, en me privant de l'emploi des fonctions comme initFromDao(), saveTodao(), etc.
Merci pour vos réponses.
[Opened] Re: DAO : limit réservé a une requête de type SELECT ?
Posted by foxmask on 02/14/2010 21:02
Bonsoir, Il me semble que UPDATE ... LIMIT est loin d'être conforme au standard du SQL92,99,2003,2008 ou bien ?
ça m'a plutôt l'air d'être spécifique à MySQL non ?
donc en l'état ; que limit ne soit pas "là" ; cela ne me choque point.
cdt.
@GitHub - Forum HaveFnuBB! powered by Jelix - Le Booster Jelix !
[Opened] Re: DAO : limit réservé a une requête de type SELECT ?
Posted by laurentj on 02/15/2010 11:14
Salut,
Vous confirmez ?
oui
Si oui, cela va t-il évoluer ?
non, on veut éviter de faire de supporter des trucs spécifiques à des SGBD, parce que sinon ça veut dire "simuler" ce truc spécifique pour les autres SGBD. Et ça, c'est pas toujours possible. (comme ce update..limit, qui me semble impossible à simuler sur un sgbd qui ne supporte pas cette syntaxe)
lorsqu'on maîtrise relativement bien SQL, ne vaut-il pas mieux utiliser jDb systématiquement ?
systèmatiquement, faut peut-être pas éxagérer. Parce que pour les requêtes simples, faire un dao te coute une ligne de commande, et avec donc une ligne de commande, ça te fait la life, ça te gère les problèmes de sécu (échapper toutes les valeurs entrantes avec un SQL à la main, c'est plutôt chiant à taper je trouve) etc.
Moi j'aurais une autre question : es tu sûr que tu ne peux pas te passer d'un UPDATE...LIMIT ? parce que pour moi, ça ressemble plus à un pansement sur une jambe de bois qu'autre chose, à un UPDATE dont on pourrait en fait ajouter un (ou plusieurs) critère dans le WHERE pour updater juste les enregistrements qui correspondraient à ce que l'on veut.
- 1