Meilleur auteur de réponses
syntaxe incorrecte dans ma procedure stockee

Question
-
bonjour,
je realise la procedure stockee suivante
CREATE PROCEDURE dbo.CreerComplement -- Add the parameters for the stored procedure here @CMP_ID uniqueidentifier = '00000000-0000-0000-0000-000000000000' OUTPUT, @Dos_ID uniqueidentifier, @Cmp_NoBr nvarchar (50), @Cmp_Desc nvarchar (50), @Cmp_verse money, @Node nvarchar (50) AS BEGIN -- SET NOCOUNT ON added to prevent extra result sets from -- interfering with SELECT statements. SET NOCOUNT ON; IF @CMP_ID IS NULL OR @CMP_ID = '00000000-0000-0000-0000-000000000000' BEGIN set @CMP_ID = NEWID () END -- Insert statements for procedure here UPDATE dbo.CSR_COMPLEMENT SET CMP_ID = @CMP_ID , DOS_ID =@Dos_ID ,CMP_NOBR =@Cmp_NoBr , CMP_DESC =@Cmp_Desc , CMP_MTVERSE =@Cmp_verse , CMP_DATE = CURRENT_TIMESTAMP WHERE CMP_ID = @CMP_ID IF @@ROWCOUNT =0 BEGIN ---verifions le nbre d'enregistrement pour ce dossier ---1 : recuperons ID du dossier declare @test real set @test= (SELECT dbo.CSR_DOSSIER.DOS_ID FROM dbo.CSR_DOSSIER WHERE DOS_NODE =@node) ---2: cptons le nbre d'enregistrement pour ce dos DECLARE @NbreEnregistrement int set @NbreEnregistrement =( SELECT COUNT (DOS_ID) FROM CSR_COMPLEMENT WHERE CSR_COMPLEMENT.DOS_ID = (SELECT dbo.CSR_DOSSIER.DOS_ID FROM dbo.CSR_DOSSIER WHERE DOS_NODE =@node)) IF @NbreEnregistrement=0 BEGIN @Cmp_Desc ="VERSEMENT INITIAL" END ELSE BEGIN @Cmp_Desc ="COMPLEMENT" + @NbreEnregistrement END INSERT INTO CSR_COMPLEMENT VALUES(@CMP_ID ,(SELECT dbo.CSR_DOSSIER.DOS_ID FROM dbo.CSR_DOSSIER WHERE DOS_NODE =@node ),@Cmp_NoBr ,@Cmp_Desc , @Cmp_verse ,CURRENT_TIMESTAMP ) END END GO
toutefois apres le point 2 ou je compte le nombre d enregistrement,
lorsque j ecris
IF @NbreEnregistrement=0
BEGIN
@Cmp_Desc ="VERSEMENT INITIAL"
END
ELSE
BEGIN
@Cmp_Desc ="COMPLEMENT" + @NbreEnregistrement
ENDj ai une erreur au niveau de la variable @Cmp_Desc, car je voudrais qu'en fonction du resultat sa valeur change.
j ai beau regarder je ne vois et ne comprends pas d ou viens l erreur
merci pour votre aide
PS Je realise ceci avec MSQL Server Management
Marcelle NGOUNOU
Réponses
Toutes les réponses
-
-
Bonjour,
Merci pour avoir partagé avec nous la solution.
Bonne journée,
Cipri
Ciprian DUDUIALA, MSFT  
•Nous vous prions de considérer que dans le cadre de ce forum on n’offre pas de support technique et aucune garantie de la part de Microsoft ne peut être offerte.