SQL Server IF EXISTIERT DANN 1 ELSE 2

8

Mit Sql Server 2012. Ich habe eine gespeicherte Prozedur und ein Teil davon überprüft, ob ein Benutzername in einer Tabelle ist. Wenn ja, gib eine 1 zurück, wenn nicht, gib eine 2 zurück. Das ist mein Code:

%Vor%

Ich erhalte jedoch weiterhin den folgenden Fehler:

  

Falsche Syntax in der Nähe von '1'.

Ist das mit einem IF EXIST überhaupt möglich?

Grüße,

Michael

    
Michael 07.12.2016, 10:42
quelle

5 Antworten

14

Wenn Sie es auf diese Weise tun müssen, ist dies die Syntax, nach der Sie suchen;

%Vor%

Sie brauchen nicht unbedingt die BEGIN..END -Anweisungen, aber es ist wahrscheinlich am besten, sich von Anfang an an diese Gewohnheit zu halten.

    
Rich Benner 07.12.2016, 10:45
quelle
3

Was die Ausgabe, die Sie benötigen, select oder print oder .. so weiter.

verwende also den folgenden Code:

%Vor%     
ahmed abdelqader 07.12.2016 10:47
quelle
2

Sie können eine Variable @Result definieren, um Ihre Daten darin zu füllen

%Vor%     
Zeina 07.12.2016 10:46
quelle
2

Wie wäre es mit IIF?

%Vor%

Wenn Sie EXISTS verwenden, um das Vorhandensein von Zeilen zu überprüfen, verwenden Sie nicht *, sondern nur 1. Ich glaube, es hat die geringsten Kosten.

    
AntDC 25.08.2017 16:07
quelle
1

In SQL ohne SELECT können Sie nichts erreichen. Anstelle von IF-ELSE block bevorzuge ich CASE statement für dieses

%Vor%     
Pரதீப் 07.12.2016 11:01
quelle