2012-06-18 22 views
10

किसी को भी जानता है जो किसी के लिए आसान है। टीएसक्यूएल संग्रहीत प्रक्रियाओं में आप एक बूल के मूल्य की तुलना में एक कथन कैसे लिखते हैं। सी # के बहुत आदी होने के नाते मैं घुंघराले ब्रेसिज़, गोल ब्रेसिज़ और सभी प्रकारों में डाल रहा हूं और मुझे लगता है कि मुझे यह गलत लगता है।संग्रहीत प्रक्रिया टी-एसक्यूएल अगर बूलियन चेक

उत्तर

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 

आप केवल तब तो आप डॉन के अंदर एक ही लाइन है तो BEGIN और END की आवश्यकता नहीं है, लेकिन वैसे भी उनका उपयोग करने के लिए शायद यह अच्छा अभ्यास है।

+0

के लिए चाहिए जहां कोई और जाता है? END के बाद या उससे पहले? –

+0

मैंने उत्तर में एक ईएलएसई खंड जोड़ा है - यह अंत के बाद जाता है। –

3

इसी एसक्यूएल डेटा प्रकार बूलियन के लिए थोड़ा है, झूठे के लिए जिसका अर्थ है सच के लिए 1 और 0 है, तो:

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

वहां एक अतिरिक्त 'अंत' मिला। 'अगर ... ELSE ...' 'END' कीवर्ड से समाप्त नहीं होता है। आपको केवल उन्हें प्रत्येक 'BEGIN ... END' ब्लॉक – KyleMit

संबंधित मुद्दे