2012-06-18 56 views
10

Một cách dễ dàng cho bất kỳ ai biết. Trong TSQL thủ tục lưu trữ làm thế nào để bạn viết một tuyên bố nếu so sánh giá trị của một bool. Được quen với C# quá lâu tôi đang đặt trong niềng răng xoăn, vòng niềng răng và tất cả các loại và tôi nghĩ rằng tôi nhận được nó sai.Lưu trữ thủ tục T-SQL Nếu kiểm tra boolean

Trả lời

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 

Nếu bạn chỉ có một dòng duy nhất bên trong nếu sau đó bạn don không cần BEGINEND, nhưng có thể thực hành tốt để sử dụng chúng.

+0

nơi nào khác đi? AFter hoặc trước END? –

+0

Tôi đã thêm một mệnh đề ELSE vào câu trả lời - nó đi sau END. –

3

Các kiểu dữ liệu tương ứng sql để boolean là bit, có nghĩa là 1 cho đúng và 0 cho sai, vì vậy:

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

Có thêm 'END' ở đó. 'IF ... ELSE ...' không kết thúc bằng từ khóa 'END'. Bạn chỉ cần chúng cho mỗi 'BEGIN ... END' khối – KyleMit

Các vấn đề liên quan