Bonjour,

J'essaye d'imbriquer des if dans une fonction utilisateur le probleme c'est que je ne connais pas trop la syntaxe :
Pouvez vous m'aider??

Voici deux exemples
- 1. Lorsque j'utilise cette fonction sql par exemple :


Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
CREATE FUNCTION dbo.UDFreturnListeDevis(@NomClient nvarchar(50))
RETURNS  @listeDevis TABLE(id_commande int)
AS
BEGIN
 
	INSERT @listeDevis
		SELECT	c.id_commande
		FROM 		Commande as c
		WHERE 	
		1=1 
		If (@NomClient !='')
			AND 2=2
	RETURN 
END

J'ai ce code d'erreur :
Erreur 455 : The last statement included within a function must be a return statement.

- 2. J'essaye d'utiliser une variable

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 dbo.UDFreturnListeDevis(@NomClient nvarchar(50))
RETURNS  @listeDevis TABLE(id_commande int)
AS
BEGIN
declare @toto nvarchar(50);
 
	If (@NomClient !='')
		set @toto = ' AND 2=2 ';
 
	INSERT @listeDevis
		SELECT	c.id_commande
		FROM 		Commande as c
		WHERE 	
		1=1 
		@toto 
	RETURN 
END
et la j'ai ce message d'erreur :
Erreur 170 incorrect syntax near '@toto'

Merci d'avance pour vos réponses.