Vous n'êtes pas identifié(e).
- Contributions : Récentes | Sans réponse
#1 12/03/2019 18:34:01
- speedy_souris
- Membre
Requete d'Insertion avec limit et offset
Bonjour à toutes et tous,
sur un systeme ubuntu 18.04 avec posgresql 10 et pgadmin III
je suis en formation d'application python,
dans un projet de la formation, il y a la simulation d'un gestion en ligne de plusieurs pizzerias
mon objectif c'est d'inserer la quantité en stock de 100 ingredients de pizza dans les pizzerias
voici ma requete (pizzeria 1)qui fonctionne j'usqu'a 99 et au centieme element j'ai une erreur qui me returne la valeur NULL sur le 100 ingrédiient
alors que j'ai bien une 100eme ingredient
INSERT INTO stock (quantity,id_ingredient,id_pizzeria)
VALUES
(361,(SELECT id FROM ingredient ORDER BY id LIMIT 1 OFFSET 1),
(SELECT id FROM pizzeria ORDER BY id LIMIT 1 OFFSET 1)
),
(294,(SELECT id FROM ingredient ORDER BY id LIMIT 1 OFFSET 2),
(SELECT id FROM pizzeria ORDER BY id LIMIT 1 OFFSET 1)
),
(172,(SELECT id FROM ingredient ORDER BY id LIMIT 1 OFFSET 3),
(SELECT id FROM pizzeria ORDER BY id LIMIT 1 OFFSET 1)
),
-------------------------------------------------------
(762,(SELECT id FROM ingredient ORDER BY id LIMIT 1 OFFSET 99),
(SELECT id FROM pizzeria ORDER BY id LIMIT 1 OFFSET 1)
),
(529,(SELECT id FROM ingredient ORDER BY id LIMIT 1 OFFSET 100),
(SELECT id FROM pizzeria ORDER BY id LIMIT 1 OFFSET 1)
);
merci de m'aiguiller
Hors ligne
#2 12/03/2019 19:16:33
- rjuju
- Administrateur
Re : Requete d'Insertion avec limit et offset
OFFSET spécifie le nombre de ligne à ignorer, donc OFFSET 1 vous renvoie la 2ème ligne et OFFSET 100 la 101ème.
Celant étant dit, cette requête n'est certainement pas une bonne pratique. Comment définissez-vous les quantités initialement ?
Julien.
https://rjuju.github.io/
Hors ligne
#3 12/03/2019 19:40:13
- speedy_souris
- Membre
Re : Requete d'Insertion avec limit et offset
bonjour rjuju,
merci pour la clairification sur offset,
en fait c'est cette requete la definition initiale des quantités
est ce que du coté de 'FETCH' avec un 'WHERE' combiné
n'y aurait'il pas matiére à réfléchir ?
Dernière modification par speedy_souris (12/03/2019 19:51:52)
Hors ligne
#4 12/03/2019 22:55:36
- rjuju
- Administrateur
Re : Requete d'Insertion avec limit et offset
Je ne comprends pas, vous avez besoin d'initialiser votre table avec une quantité précise pour les ingrédients, en choisissant les ingrédients en fonction de leur rang de clé technique ? Comment pouvez-vous savoir qu'il faut une quantité de 361 pour « le premier id d'ingrédient trouvé dans la table » ? Soit il 'agit d'un import initial, et dans ce cas là autant mettre toutes les valeurs en durs et ajuster les séquences associées si besoin (comme le ferait une restauration), soit ce n'est pas le cas et dans ce cas je me demande toujours d'où vient 361 et comment vous l'associez avec un ingrédient précis.
Julien.
https://rjuju.github.io/
Hors ligne