tochedu8412
Messages postés2Date d'inscriptionmercredi 6 janvier 2010StatutMembreDernière intervention 9 juin 2010
-
9 juin 2010 à 14:51
crn_c21
Messages postés302Date d'inscriptionsamedi 24 janvier 2004StatutMembreDernière intervention 4 février 2011
-
18 sept. 2010 à 00:59
Bonjour a tous,je veux faire une procédure stockée, mais je ne trouve pas d'ou l'erreur viens ... Mon but étant de compter le nombre de machines qui sont 'En panne'
Je me retrouve avec une erreur :
Msg 102, Niveau 15, État 1, Procédure pscalc, Ligne 34
Syntaxe incorrecte vers '@nb_mach'.
Msg 102, Niveau 15, État 1, Procédure pscalc, Ligne 42
Syntaxe incorrecte vers 'END'.
Voici mon code
set ANSI_NULLS ON
set QUOTED_IDENTIFIER ON
go
-- =============================================
-- Author:
-- Create date: <Create Date,,>
-- Description: <Description,,>
-- =============================================
CREATE PROCEDURE [dbo].[pscalc]
-- Add the parameters for the stored procedure here
@nb_mach int output
AS
BEGIN
-- SET NOCOUNT ON added to prevent extra result sets from
-- interfering with SELECT statements.
SET NOCOUNT ON;
-- Insert statements for procedure here
declare cursmach cursor for
select num_serie, etat_mach from machine ;
open cursmach;
--Déclaration des variables
declare @etat_mach as varchar(50);
--Parcour de la boucle
while @@FETCH_STATUS = 0
begin
FETCH cursmach INTO @nb_mach , @etat_mach;
--Modification des valeurs
if (@etat_mach = 'En panne')
begin
@nb_mach = (@nb_mach + 1);
end
end
close cursmach;
-- SELECT <@Param1, sysname, @p1>, <@Param2, sysname, @p2>
END