चूंकि @ ए को कभी घोषित नहीं किया गया है, एसक्यूएल सर्वर को एक त्रुटि फेंकनी चाहिए, लेकिन ऐसा नहीं है। ऐसा क्यों है?कंडीशन घोषित IF कथन के अंदर क्यों घोषित किया गया है जब भी स्थिति गलत होती है?
DECLARE @i int = 1;
IF @i > 10
BEGIN
DECLARE @A int = 100;
END
PRINT @A; // doesn't return any result
thanx
+1: अच्छा प्रश्न। –