Bonjour,
Je dispose d'une table Emplacement (code_emplacement, capacité) sur laquelle j'ai crée une simple procédure "stockage_possible" qui, prenant en paramètre une quantité, dresse la liste, sous forme d'une table, des emplacements disponibles pour stocker cette quantité. Jusque là, ça va.
J'ai une 2ème table : Stock (ID_stock (PK), Code_article, Num_lot, Code_emplacement, quantite, ID_personne). Cette table est rempli à l'aide d'une procédure "réception".
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 set ANSI_NULLS ON set QUOTED_IDENTIFIER ON GO -- ============================================= -- Author: <Author,,Name> -- Create date: <Create Date,,> -- Description: <Description,,> -- ============================================= ALTER PROCEDURE [dbo].[stockage_possible] @quantite float AS BEGIN SET NOCOUNT ON; SELECT code_emplacement AS emplacement_possible, capacite AS disponibilite from Emplacement WHERE Emplacement.capacite >= @quantite END
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
30
31
32
33
34
35 set ANSI_NULLS ON set QUOTED_IDENTIFIER ON GO -- ============================================= -- Author: <Author,,Name> -- Create date: <Create Date,,> -- Description: <Description,,> -- ============================================= ALTER PROCEDURE [dbo].[reception] -- Paramètres de la procédure @ID_stock int , @codearticle varchar(50) , @num_lot varchar(50) , @IDpers nchar(10) , @qte float , @empl varchar(50) AS BEGIN -- SET NOCOUNT ON added to prevent extra result sets from -- interfering with SELECT statements. SET NOCOUNT ON; INSERT INTO Stock ( ID_stock , Code_article , Num_lot , Code_emplacement , quantite , ID_personne) VALUES (@ID_stock,@codearticle,@num_lot,@empl,@qte,@IDpers) END
Seulement, je ne sais pas comment réutiliser les résultats de la procédure "stockage_possible". Peut-on les transformer en table temporaire? en fait, le code emplacement à insérer dans la table stock est censé être issu du résultat de "stockage_possible". Comment faire? Est-il possible de faire appel à la 1ère procédure dans la procédure "réception"? Le problème est que si plusieurs emplacements sont possibles pour le stockage, comment décider lequel sera choisi?... j'avoue que je suis un peu perdu.
merci,
Edouard.
Partager