EXISTS
(या NOT EXISTS
) विशेष रूप से यह जांचने के लिए डिज़ाइन किया गया है कि क्या कुछ मौजूद है और इसलिए (और है) सबसे अच्छा विकल्प होना चाहिए। यह मेल खाने वाली पहली पंक्ति पर रुकेगा, इसलिए इसे TOP
. की आवश्यकता नहीं है क्लॉज और यह वास्तव में किसी भी डेटा का चयन नहीं करता है इसलिए कॉलम के आकार में कोई ओवरहेड नहीं है। आप सुरक्षित रूप से SELECT *
. का उपयोग कर सकते हैं यहां - SELECT 1
से अलग नहीं है , SELECT NULL
या SELECT AnyColumn
... (आप SELECT 1/0
. जैसे अमान्य एक्सप्रेशन का भी उपयोग कर सकते हैं और यह नहीं टूटेगा)।
IF EXISTS (SELECT * FROM Products WHERE id = ?)
BEGIN
--do what you need if exists
END
ELSE
BEGIN
--do what needs to be done if not
END