Créer une procédure stockée qui affiche les clients dont la quantité commande est supérieur à 75 et les factures sont réalisées entre 2003 et 2004
CREATE proc E;1 AS SELECT * FROM Client WHERE EXISTS (SELECT * FROM Commande WHERE IdClient=Client.IdClient AND Quntité>75 AND EXISTS (SELECT * FROM Facture WHERE datefacture BETWEEN '01/01/2003'AND '31/12/2004'AND NumCommande=Commande.NumCommande )) exec E;1
Créer une procédure stockée qui retourne la somme des prix à payer par tous les clients en utilisant un paramètre de sortie.
CREATE proc E;2 @somme money output AS SELECT @somme = sum(PrixTotal) FROM Commande IF @somme < 1000 print 'La société va fermer ses portes.' else ---SELECT 'La société a réalisé ' + convert (varchar(20), @somme)+' F' as PrixTotal SELECT @somme AS SommeRéalisé go declare @P money exec E;2 @P output
Créer une procédure qui affiche les noms et les prénoms des clients dont le nom commence par ‘Al’ en utilisant un cursor qui permet d’extraire les lignes ligne par ligne
CREATE proc ProcCursor AS DECLARE Cur CURSOR FOR SELECT Nom, Prénom FROM Client WHERE Nom LIKE 'Al%' OPEN Cur FETCH NEXT FROM Cur WHILE @@FETCH_STATUS = 0 BEGIN INSERT INTO client VALUES(2056,'toto','titi','Mars') FETCH NEXT FROM Cur END CLOSE Cur DROP proc ProcCursor exec ProcCursor
Créer une procédure qui exécute la procédure précédente
CREATE proc ProcAppelante @P1 varchar(10) AS exec @P1 --------- exec ProcAppelante 'ProcCursor'
Créer la procédure stockée qui compte le nombre de commandes d’un client et affiche le résultat
CREATE proc prc (@id int, @var int output) AS SELECT @var = count(NumCommande) FROM Commande WHERE IdClient=@id GROUP BY IdClient DROP proc prc declare @P int Exec prc 1578,@P output SELECT @p AS NbreCommandes
tres pratquer