Bonjour,
J’ai crée un plan de stockage pour des palettes dans un entrepôt avec une table SQL dont voici le schéma et le contenu (en pièce jointe).
Les racks de stockage sont dynamiques c’est-à-dire que lorsque l’on enlève une palette, celle de derrière vient automatiquement prendre sa place.
L’adressage est le suivant pour le rack 1 par example :
001.A pour la hauteur A
001.B pour la hauteur B
001.C pour la hauteur C
Ensuite chaque hauteur possède 10 emplacements de stockage en profondeur. Ainsi :
Pour la hauteur A :
001.A1
001.A2
001.A3
…
Lorsque j’enlève la palette 001.A1, la 001.A2 devient 001.A1 et 001.A3 devient 001.A2…
Mon but est de faire ce réadressage via une requète SQL que voici.
Mais elle me retourne une erreur puisque je tente de mettre à jour plusieurs valeurs. J’ai pourtant bien créer une table virtuelle, je ne comprend pas trop.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29 use GSUITE; go declare @entstkId int --Update ID de l'adresse actuelle set @entstkId = 970 Update PICKING_CONG set ENTSTK_ID = null where ENTSTK_ID = @entstkId; go declare @hauteur nvarchar(1) set @hauteur = 'A' declare @tableId table(entid int,hauteur nvarchar(1),profon int,rack nvarchar(3)) --Décalage des autres palette de la hauteur insert into @tableId(entid,hauteur,profon,rack) select ENTSTK_ID,R_HAUTEUR,R_PROFO,R_NOM from PICKING_CONG where R_HAUTEUR = @hauteur and ENTSTK_ID is not null; update PICKING_CONG set ENTSTK_ID = (select entid from @tableId) where R_ADRESSE = (select CONCAT(rack,'.',hauteur,profon-1) from @tableId); go
Merci de votre aide
Partager