Bonjour à tous,

Voilà je viens vous voir car j'ai un petit soucis dont je ne comprend pas vraiment la cause

Je viens de créer une fonction toute simple, avec dedans la déclaration d'une variable, mais SQL Server me sort une erreur par rapport à çà.

Voici ma fonction :

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
19
20
21
22
23
24
25
26
27
28
29
30
31
ALTER FUNCTION [CheckImm]
(	
	@nav as bigint
)
RETURNS TABLE 
AS
 
RETURN 
(
	DECLARE @Etat as int
set @Etat = 0
 
SELECT top 1 @Etat = No_ FROM dbo.[HD]
WHERE No_ = @nav
 
IF @Etat <> 0 
	BEGIN
		return 1
	END
 
ELSE
	BEGIN 
		SELECT @Etat = Entransfert FROM Obj WHERE Nav = @nav
		IF @Etat = 1 
			BEGIN
				return 2
			END
		ELSE
			return 3 
	END
)
Et voici l'erreur qu'il me sort :

Msg 156, Level 15, State 1, Procedure CheckImm, Line 16
Incorrect syntax near the keyword 'DECLARE'.
Msg 102, Level 15, State 1, Procedure CheckImm, Line 37
Incorrect syntax near ')'.
Apparemment il est impossible de déclarer une variable ?

D'avance merci pour votre aide, car là je cale vraiment