2012-06-18 1 views

Odpowiedz

24
DECLARE @bool BIT = 1 

IF @bool = 1 
BEGIN 
    -- do stuff here 
    PRINT 'it was true'; 
END 
ELSE 
BEGIN 
    -- do other stuff here 
    PRINT 'it was not true'; 
END 

Jeśli masz tylko jedną linię wewnątrz Jeśli więc don "Potrzebuję BEGIN i END, ale prawdopodobnie dobrą praktyką jest ich używanie w każdym razie.

+0

gdzie się podzala? AFTER lub przed END? –

+0

Dodałem do odpowiedzi klauzulę ELSE - przechodzi ona po KOŃCU. –

3

Odpowiedni typ danych SQL do boolean jest bit, czyli 1 na prawdziwe i 0 dla false, więc:

IF(@Statement=1) 
    BEGIN 
     SELECT COUNT(*) FROM Table 
    END 
ELSE 
    BEGIN 
     SELECT MIN(ID) FROM Table 
    END 
END 
+0

Dostałem tam dodatkowy "KONIEC". 'IF ... ELSE ...' nie kończy się słowem kluczowym 'END'. Potrzebujesz ich tylko dla każdego bloku 'BEGIN ... END' – KyleMit