1. This site uses cookies. By continuing to use this site, you are agreeing to our use of cookies. Learn More.

procédure stockée sql server pdf

abdelouafiDec 22, 2017

    1. abdelouafi

      abdelouafi Administrator Staff Member

      Messages:
      537
      Likes Received:
      10
      Trophy Points:
      18
      Joined
      Sep 13, 2016
      procédure stockée sql server pdf.


      Exercices sur les procédures stockées :
      soit le schéma suivant:
      upload_2017-12-22_14-49-27.png


      Exercice 1 :

      1. Créer une procédure stockée nommée SP_Articles qui affiche la liste des articles avec pour chaque article le numéro et la désignation ?

      2. Exécuter cette procédure ?



      Exercice 2:



      1. Créer une procédure stockée qui calcule le nombre d'articles par commande ?

      2. Exécuter cette procédure ?


      Exercice 3:


      1. Créer une procédure stockée nommée SP_ListeArticles qui affiche la liste des articles d'une commande dont le numéro est donné en paramètre ?



      upload_2017-12-22_14-49-2.png

      2. Exécution de cette procédure


      Exercice 4:

      Créer une procédure stockée nommée SP_ComPeriode qui affiche la liste des commandes effectuées entre deux dates données en paramètre?



      Exercice 5:

      Créer une procédure stockée nommée SP_TypeComPeriode qui affiche la liste des commandes effectuées entre deux dates passées en paramètres. En plus si le nombre de ces commandes est supérieur à 100, afficher 'Période rouge'. Si le nombre de ces commandes est entre 50 et 100 afficher 'Période jaune' sinon afficher 'Période blanche' (exploiter la procédure précédente)?



      Exercice 6:

      Créer une procédure stockée nommée SP_EnregistrerLigneCom qui reçoit un numéro de commande, un numéro d'article et la quantité commandée :

      • Si l'article n'existe pas ou si la quantité demandée n'est pas disponible afficher un message d'erreur.
      • Si la commande introduite en paramètre n'existe pas, la créer
      • Ajoute ensuite la ligne de commande et met le stock à jour


      Exercice 7:



      1- Créer une procédure stockée nommée SP_NbrCommandes qui retourne le nombre de commandes ?


      2- Exécuter cette procédure pour afficher le nombre de commandes ?

      Exercice 8:

      Créer une procédure stockée nommée SP_NbrArtCom qui retourne le nombre d'articles d'une commande dont le numéro est donné en paramètre ?
       
      Last edited: Dec 22, 2017
      Loading...
      Exercice 1
      Code:
      Create Procedure SP_Articles as
      
      Select NumArt, DesArt from Article
      
      
      Exec SP_Articles
      Exercice 2:

      Code:
      Create Procedure SP_NbrArticlesParCommande
      as
      Select Commande.NumCom, DatCom, Count(NumArt) From Commande, LigneCommande Where Commande.NumCom=LigneCommande.NumCom Group by Commande.NumCom, DatCom
      
      
      Exec SP_NbrArticlesParCommande


      Exercice 3:

      Code:
      Create Procedure SP_ListeArticles
      
      @NumCom int
      
      as
      
      Select A.NumArt, NomArt, PUArt, QteCommandee From Article A, LigneCommande LC Where
      
      LC.NumArt=A.NumArt and LC.NumCom=@NumCom
      
      
      
      
      Exec ListeArticles 1
      
      Ou Declare @nc int
      
      Set @nc=1
      
      Exec SP_ListeArticles @nc
      

      Exercice 4:

      Code:
      Create Procedure SP_ComPeriode
      
      @date1 DateTime, @date2 DateTime
      
      As
      
      Select numcom from commande where Datecom>date1 and Datecom<date2
      
      
      Ou
      
      Create Procedure SP_ComPeriode @DateD DateTime, @DateF DateTime
      
      as
      
      Select * from Commande Where datcom between @dateD and @DateF
      
      
      L’éxecution de cette requite:
      
      Exec SP_ComPeriode '10/10/20017', '14/12/2017'
      
      Ou
      
      Declare @dated DateTime,@dateF DateTime
      
      Set @dated='10/10/20017'
      
      set@dateF='14/12/2017'
      
      Exec SP_ComPeriode @dateD,@dateF

      Exercice 5:

      Code:
      [LEFT][SIZE=13px][COLOR=rgb(102, 102, 102)]
      Create Procedure SP_TypeComPeriode @DateD DateTime, @DateF DateTime
      
      as
      
      Exec SP_ComPeriode @DateD, @DateF
      
      Declare @nbr int
      
      Set @nbr=(Select count(NumCom) from Commande Where datcom between @dateD and @DateF)
      
      If @nbr >100
      
      Print 'Période Rouge'
      
      Else
      
      Begin
      
         If @nbr<50 Print 'Période blanche' Else Print 'Période Jaune' End><50
      
      Print 'Période blanche'
      
      Else
      
      Print 'Période Jaune'
      
      End[/COLOR][/SIZE][/LEFT]
      
      ou
      Create Procedure SP_TypeComPeriode @DateD DateTime, @DateF DateTime
      
      as
      
      Select *, @nbr=count(NumCom) from Commande Where datcom between @dateD and @DateF
      
      If nbr>100
      
        Begin
      
        Print 'Période rouge'
      
      End
      
      Else
      
        If nbr>50 and nbr<100
      
        Print 'Période jaune'
      
      Else
      
        Print 'Période blanche'
      
      
      
      
      


      Exercice 6:

      Code:
      
      
      Create procedure SP_EnregistrerLigneCom
      
      @numcom int, @numart int, @qte int
      
      Declare @x int
      
      Set @x=(select count(numart) from article where numart=@numart )
      
      Set @q=(select qteenstock from article where numart=@numart )
      
      Set @cmd=(select numcom from commande where numcom=@numcom )
      
      
      
      
      
      If @x==0 or @q<@qte
      
        Print ’erreur’
      
      If @cmd=0
      
        Insert into commande (numcom, datecom) values(@numcom, ‘01/01/2017’)
      
      
      
      Insert into Lignecommande (numcomnumart, qtecommandee) values(@numcom,@numart,@qte)
      
      Update table article set qteenstock=qteenstock-@qte
      
      
      
      
      
      Ou
      
      
      
      
      
      Create Procedure SP_EnregistrerLigneCom @numCom int, @numart int, @qte decimal
      
      AS
      
      if not exists(select numart from article where numart=@numart)
      
      or (select Qteenstock from article where numart=@numart) < @qte
      
      Begin
      
      Print 'Cet article n''existe pas ou stock est insuffisant'
      
      Return
      
      End
      
      Begin transaction
      
      if not exists(select numcom from Commande where numCom=@numcom)
      
      insert into commande values(@NumCom,getdate())
      
      
      
      insert into ligneCommande values(@NumCom, @Numart,@Qte)
      
      update article set QteEnStock=QteEnStock- @Qte where NumArt=@NumArt
      
      Commit Transaction

      Exercice 7:


      Code:
      1-
      Create Procedure SP_NbrCommandes @Nbr int output
      
      as
      
      Set @Nbr = (Select count(NumCom) from Commande)
      
      
      2-
      
      Declare @n int
      
      Exec SP_NbrCommandes @n Output
      
      Print 'Le nombre de commandes : ' + convert(varchar,@n)
      
      

      Exercice 8:

      Code:
      Create procedure SP_NbrArtCom @numcom int, @nbr int output
      
      As
      
      Set @nbr=(select count(numart) from lignecommande where numcom=@numcom)
      
      Declare @n int
      
      Exec SP_NbrArtCom 1, @n Output
      
      Print 'Le nombre d'articles de la commande numéro 1 est : ' + convert(varchar,@n)
      
      Ou
      
      Declare @nc int, @n int
      
      Set @nc=1
      
      Exec SP_NbrArtCom @nc, @n Output
      
      Print 'Le nombre d'articles de la commande numéro ' + convert(varchar,@nc) + ' est : ' + convert(varchar,@n)
      

Share This Page

Share