bonjour,
j'aimerais créer une Fonction qui me permettrait de calculer les chiffre d'affaire par client en utilisant la notion de Curseur et on ayant comme structure des tables :
client (id_client,nom,prenom)
facture (id_facture,id_client,montant)
voici la fonction que j'ai créer mais qui génere des erreurs lors de l'éxécution :
les erreurs générés sont les suivante :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18 create function CA_Client (@num_client int) return money as begin declare @ca money ; declare @id_client int; declare my_cursor cursor for select CLI_ID from dbo.T_CLIENT open my_cursor fetch next from mu_cursor into @id_client while @@fetch_status =0 begin select @ca =@ca + montant from dbo.T_FACTURE where (dbo.T_CLIENT.CLI_ID = dbo.T_FACTURE.CLI_ID) and (dbo.T_FACTURE.CLI_ID=@id_client) fetch next from my_cursor into @id_client end Close my_cursor deallocate my_cursor RETURN @ca end
j'ai compris qui y avait une erreur de syntaxe déja que j'ai pas réussi a trouvé et aussi la question que je me pose et : est ce que une fonction dans ce cas la est nécéssaire ?Msg*156, Niveau*15, État*1, Procédure*CA_Client, Ligne*1
Syntaxe incorrecte vers le mot clé 'return'.
Msg*178, Niveau*15, État*1, Procédure*CA_Client, Ligne*16
Une instruction RETURN avec une valeur de retour ne peut être utilisée dans ce contexte.
merci de votre aide ,
Partager