Bonjour,

Dans mon code suivant, j'ai besoin de passer dans l'un des deux bloc IF, et stocker le résultat du SELECT dans une table temporaire nommée #tmp

Code SQL : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
 
DECLARE @cas INT = 1;
 
IF OBJECT_ID('tempdb..#tmp') IS NOT NULL DROP TABLE #tmp
IF(@cas=1)
	BEGIN
		IF OBJECT_ID('tempdb..#tmp') IS NOT NULL DROP TABLE #tmp
		SELECT 'Valeur1' AS Colonne1 INTO #tmp
	END
ELSE IF(@cas=2)
	BEGIN
		IF OBJECT_ID('tempdb..#tmp') IS NOT NULL DROP TABLE #tmp
		SELECT 'Valeur2' AS Colonne1 INTO #tmp
	END


Or rien que l'analyse de la requête (Crtl+F5), ça me ramène l'erreur suivante:

Msg 2714, Level 16, State 1, Line 13
Il existe déjà un objet nommé '#tmp' dans la base de données.
Comment pourrais-je résoudre ce problème ?

Merci d'avance : )