Je voudrais implémenter ou utiliser des fonctionnalités qui permettent de parcourir une table dans SQLite.Marcher dans une table SQLite
Si j'ai un tableau Products
qui a 100k lignes, je voudrais peut-être ré-écrire 10k lignes à la fois. Quelque chose de similaire à la façon dont une page Web listerait les données et aurait un lien < Previous .. Next >
pour parcourir les données.
Y a-t-il des instructions select qui peuvent rendre ceci simple? Je vois et j'ai essayé d'utiliser le ROWID en conjonction avec LIMIT qui semble correct si je ne commande pas les données.
// Cela semble fonctionner si vous ne commandez pas.
SELECT * FROM Products WHERE ROWID BETWEEN x AND y;
Et que se passe-t-il si vous commandez les lignes? –
le ROWID s'il n'est pas explicitement spécifié est toujours disponible mais n'est pas considéré comme statique. Cela dit, le ROWID implicite sera déterminé par l'ordre dans lequel les lignes sont écrites physiquement dans la table. Donc, si la table a été stockée dans l'ordre par nom, et que je veux commander par QTY, le ROWID ne représentera pas l'ordre retourné mais le numéro de ROW implicite. – galford13x
Vous devriez éviter d'utiliser un ROWID intégré autant que possible dans le travail SQL. Il ne fait pas vraiment partie du standard SQL, c'est un add-on qui n'est pas garanti sur la plupart des RDBMS. J'utiliserais une clause ORDER BY pour créer une commande à la place. J'ai trouvé que la plupart des requêtes peuvent être écrites sans compter sur un numéro de ligne implicite, avec un peu d'imagination. –