J'aimerais savoir comment je peux utiliser des variables locales dans Ce script me donne une erreur: p> Case Code> Déclarations dans SQL?
DECLARE @Test int;
DECLARE @Result char(10);
SET @Test = 10;
CASE @Test
WHEN @Test = 10
THEN SET @Result='OK test'
END
Print @Result;
5 Réponses :
dans SQL Server, je l'écrirais comme ceci:
DECLARE @Test int; DECLARE @Result char(10); SET @Test = 10; SET @Result = CASE @Test WHEN 10 THEN 'OK test' END Print @Result;
Cela ne fonctionne pas dans ma DB SQL 2005. (syntaxe incorrecte près du mot clé 'case'). (J'ai eu la même solution, mais cela n'a pas fonctionné).
La syntaxe ici est fausse. Vous ne pouvez pas utiliser une déclaration de cas comme une instruction IF.
cas @Test quand 10 alors p>
Deux façons d'utiliser un cas dans ce scénario avec MSSQL
DECLARE @test int, @result char(10) SET @test = 10 SET @result = CASE @test WHEN 10 THEN 'OK test' ELSE 'Test is not OK' END PRINT @result; SET @result = CASE WHEN @test = 10 THEN 'OK test' ELSE 'Test is not OK' END PRINT @result
DECLARE @Test int; SET @Test = 10; SELECT CASE @Test WHEN 10 THEN 'OK test' END For SQL server 2005
La réponse d'Anishmarokey est un peu plus propre car elle conserve votre variable @Result.
Essayez ceci:
DECLARE @Test int; DECLARE @Result char(10); SET @Test = 10; select @Result= CASE @Test WHEN 10 THEN 'OK test' END Print @Result;
Ont-ils laissé tomber la partie "serveur" du nom? ;-P