क्या निम्नलिखित करना सही है?
IF EXISTS(SELECT *
FROM dbo.Scores)
DROP TABLE dbo.Scores
नहीं. यह तालिका को तभी गिराएगा जब इसमें कोई पंक्तियाँ हों (और यदि तालिका मौजूद नहीं है तो एक त्रुटि उत्पन्न होगी)।
इसके बजाय, एक स्थायी तालिका के लिए आप उपयोग कर सकते हैं
IF OBJECT_ID('dbo.Scores', 'U') IS NOT NULL
DROP TABLE dbo.Scores;
या, एक अस्थायी तालिका के लिए आप उपयोग कर सकते हैं
IF OBJECT_ID('tempdb.dbo.#TempTableName', 'U') IS NOT NULL
DROP TABLE #TempTableName;
SQL सर्वर 2016+ का एक बेहतर तरीका है, DROP TABLE IF EXISTS …
. @Jovan का जवाब देखें।