Deux procedure en une

issam164 Messages postés 51 Date d'inscription mercredi 20 juillet 2005 Statut Membre Dernière intervention 20 février 2008 - 14 sept. 2006 à 18:28
issam164 Messages postés 51 Date d'inscription mercredi 20 juillet 2005 Statut Membre Dernière intervention 20 février 2008 - 20 sept. 2006 à 09:42
bonjour tt le monde,


alors j'ai deux procedures, et je devrai avoir une seule qui fait appel aux deux procedure en question..


cette procedure mere n'a aucun parametre..


merci pour votre aide

6 réponses

cs_skweeky Messages postés 259 Date d'inscription mercredi 3 mai 2006 Statut Membre Dernière intervention 11 janvier 2010 8
14 sept. 2006 à 22:27
Bonjour,


C'est quoi la question ?

Pour executer une procédure dans une autre, c'est comme l'executer normalement :

EXEC MaProc 1, 2, 3

CREATE MaProc2
AS

   EXEC MaProc 1,2,3

GO

Qu'il y en ai 1 ou plusieurs y a pas de problèmes.

Christian Robert - Winwise
http://blogs.developpeur.org/christian/
MCT - Database Development / Database Administration
0
issam164 Messages postés 51 Date d'inscription mercredi 20 juillet 2005 Statut Membre Dernière intervention 20 février 2008
15 sept. 2006 à 09:24
Bonjour,

le probleme c que je dois avoir une seule procedure(sans parametres) qui fait appel aux deux autres procedures.
en ce qui concerne les deux procedures, l'une est en terme de temps( le temps travaillé pour un atelier) et l'autre pour la matiere premiere.
 la procedure que je deverais avoir me donne le temps travaillé ainsi que la matiere premiere utilisé pour chaque atelier pendant la semaines( entre date$-1 et date$-8).

merci pour votre aide.
0
cs_Malkuth Messages postés 268 Date d'inscription samedi 22 février 2003 Statut Membre Dernière intervention 24 avril 2013 4
16 sept. 2006 à 13:46
en fait tu devrais nous poster le code parce que là on comprend encore moins!

c'est quoi une procédure en terme de temps?
t'est sûr que tu veux pas parler de table ?
0
issam164 Messages postés 51 Date d'inscription mercredi 20 juillet 2005 Statut Membre Dernière intervention 20 février 2008
16 sept. 2006 à 22:27
bonjour,


vous trouverez les deux procedures dont on a parlé dans les elements envoyés( document attaché) sur ma boite [mailto:issam_elkhaldi@yahoo.fr issam_elkhaldi@yahoo.fr]   mot de passe: meriem12
merci pour votre aide..
en fait, il s'agit, en quelque sorte, de fusionner ces deux proc en une seule.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_Malkuth Messages postés 268 Date d'inscription samedi 22 février 2003 Statut Membre Dernière intervention 24 avril 2013 4
17 sept. 2006 à 13:45
Putain y'en as qu'on pas froid aux yeux.

Je vais être un peu direct :

codes-sources est une communeauté d'entre aide ou tout le monde est suceptible d'aider les autres et vice versa, et même si toutes les question n'obtienne pas réponse, dans l'ensemble ca marche pas mal et on apprend baucoup si on le souhaite. seulement il y'a quand même quelques effort a faire (ca permet aux autres qu'ils sont pas pris pour des c..). Si tu est préssé parceque ton patron voulais que ce soit prêt pour hier dis toi que c'est le lot de beaucoup ici. on est prês a passer du temps pour faire partager une passion (personne ne m'oblige a répondre aux question poser et c'est pareil pour tous le monde). seulement il faudrait quand même essayer de poser des question intelligible et surtout , j'ai autre chose a faire que de me balader sur ta boite email pour récupérer un fichier dans un zip dans une piéce jointe dans les éléments envoyez dans ta messagerie YAHOO(ce que j'ai tous de même fais c'est dire si je suis c..). Maintenant je voudrais savoir de quel procedure dans quel fichier on parle (parceque je vais pas en plus chercher parmis les fichiers les procédure que tu veux "Fusionner".

ce qui serait bien la prochaine fois c'est que des le premier post sur le forum tu fasse :

Explication claire du problème,
description de ce que font les procédure,table,vue ... qui sont en jeu dans ton problème,
le code corespondant a cest objet décrit (si le code est long, tu peux remplacer des portion par [-- ... Blabla explicatif de la portion elipsée].

Aide toi et dieu t'aidera (non csans dec il faut vraiment faire un petit effort!)

PS: Jespere que tu as ouvert ta boite mail pour l'ocase quand même(sache que c'est interdit par la contrat qui te lie a Yahoo . en passant...)
0
issam164 Messages postés 51 Date d'inscription mercredi 20 juillet 2005 Statut Membre Dernière intervention 20 février 2008
20 sept. 2006 à 09:42
bonjour,


je suis vraiment desolé pour le derangement, mais je vx juste que vous sachiez que en vous donnant le mot de passe de ma boite email , non pa pour balader, mais parceque il y a s bcp de procedures la dans..


voila les deux procedures..


 




1_


create  proc TEST.XARBRE_PROD_PF @datdeb datetime , @datfin datetime
as




   declare @art varchar(20),@art2 varchar(20),@qtt numeric(28, 13),@qtt_pf numeric(28, 13)
   declare @des1 varchar(30),@des2 varchar(30),@fam varchar(30)


   truncate table TEST.XPF_ECL_2
   DECLARE curs_article_pf CURSOR
   FOR


   select ITMREF_0 from TEST.STOJOU a where a.TRSTYP_0=5 and a.TRSNUM_0='EOF' and exists (select 1 from TEST.ITMMASTER b
   where a.ITMREF_0=b.ITMREF_0 and  b.TCLCOD_0 in ('35','36','38') )
   and a.IPTDAT_0 between @datdeb and @datfin


   OPEN curs_article_pf 
   FETCH NEXT FROM curs_article_pf
   into @art
  
   -- Check @@FETCH_STATUS to see if there are any more rows to fetch.
   WHILE @@FETCH_STATUS = 0
   BEGIN
   exec TEST.XARBRE_PROD @art
--------------------------------------------------------------------------------
   DECLARE curs_article_pf_2 CURSOR
   FOR
   select article,qtt from TEST.XPF_ECL
   OPEN curs_article_pf_2 
   FETCH NEXT FROM curs_article_pf_2
   into @art2,@qtt
  
   -- Check @@FETCH_STATUS to see if there are any more rows to fetch.
   WHILE @@FETCH_STATUS = 0
   BEGIN
   select @des1=b.ITMDES1_0,@des2=b.ITMDES2_0,@fam=b.TSICOD_2,@qtt_pf=a.QTYSTU_0 from TEST.STOJOU a,TEST.ITMMASTER b where [mailto:b.ITMREF_0=@art2 b.ITMREF_0=@art2] and [mailto:a.ITMREF_0=@art a.ITMREF_0=@art]
   insert into TEST.XPF_ECL_2 values (@fam,@art,@art2,@des1,@des2,@qtt*@qtt_pf)
   FETCH NEXT FROM curs_article_pf_2
   into @art2,@qtt
   END
   CLOSE curs_article_pf_2
   DEALLOCATE curs_article_pf_2
-----------------------------------------------------------------------------------------
 
   FETCH NEXT FROM curs_article_pf
   into @art
   END
   CLOSE curs_article_pf
   DEALLOCATE curs_article_pf
--   select * from TEST.XPF_ECL_2 order by pf
GO
SET QUOTED_IDENTIFIER OFF
GO
SET ANSI_NULLS ON
GO








2_







CREATE     proc arbre_prod_pf
as




   declare @art varchar(20),@art2 varchar(20),@qtt numeric(28, 13)
   declare @des1 varchar(30),@des2 varchar(30),@des3 varchar(30)


   truncate table TEST.XPF_ECL_2
   DECLARE curs_article_pf CURSOR
   FOR
   select ITMREF_0 from TEST.ITMMASTER where TCLCOD_0 in ('35','36','38')
   OPEN curs_article_pf 
   FETCH NEXT FROM curs_article_pf
   into @art
  
   -- Check @@FETCH_STATUS to see if there are any more rows to fetch.
   WHILE @@FETCH_STATUS = 0
   BEGIN
   exec arbre_prod @art
--------------------------------------------------------------------------------
   DECLARE curs_article_pf_2 CURSOR
   FOR
   select article,qtt from TEST.XPF_ECL
   OPEN curs_article_pf_2 
   FETCH NEXT FROM curs_article_pf_2
   into @art2,@qtt
  
   -- Check @@FETCH_STATUS to see if there are any more rows to fetch.
   WHILE @@FETCH_STATUS = 0
   BEGIN
   select @des1=ITMDES1_0,@des2=ITMDES2_0,@des3=ITMDES3_0 from TEST.ITMMASTER where [mailto:ITMREF_0=@art2 ITMREF_0=@art2]
   insert into TEST.XPF_ECL_2 values (@art,@art2,@des1,@des2,@des3,@qtt)
   FETCH NEXT FROM curs_article_pf_2
   into @art2,@qtt
   END
   CLOSE curs_article_pf_2
   DEALLOCATE curs_article_pf_2
-----------------------------------------------------------------------------------------
 
   FETCH NEXT FROM curs_article_pf
   into @art
   END
   CLOSE curs_article_pf
   DEALLOCATE curs_article_pf


--   select * from TEST.XPF_ECL_2 order by pf
0
Rejoignez-nous