Sqlserver
 sql >> डेटाबेस >  >> RDS >> Sqlserver

उन सभी तालिकाओं को छोड़ दें जिनके नाम एक निश्चित स्ट्रिंग से शुरू होते हैं

यदि डेटाबेस में एक से अधिक हैं तो स्वामी को शामिल करने के लिए आपको क्वेरी को संशोधित करने की आवश्यकता हो सकती है।

DECLARE @cmd varchar(4000)
DECLARE cmds CURSOR FOR
SELECT 'drop table [' + Table_Name + ']'
FROM INFORMATION_SCHEMA.TABLES
WHERE Table_Name LIKE 'prefix%'

OPEN cmds
WHILE 1 = 1
BEGIN
    FETCH cmds INTO @cmd
    IF @@fetch_status != 0 BREAK
    EXEC(@cmd)
END
CLOSE cmds;
DEALLOCATE cmds

यह जनरेट स्क्रिप्ट प्लस रन के दो-चरणीय दृष्टिकोण का उपयोग करने की तुलना में क्लीनर है। लेकिन स्क्रिप्ट जनरेशन का एक फायदा यह है कि यह आपको वास्तव में चलने से पहले क्या चल रहा है, उसकी संपूर्ण समीक्षा करने का मौका देता है।

मुझे पता है कि अगर मैं इसे प्रोडक्शन डेटाबेस के खिलाफ करने जा रहा था, तो मैं जितना संभव हो उतना सावधान रहूंगा।

संपादित करें कोड नमूना तय किया गया।



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. SQL सर्वर प्रतीक्षा ईवेंट -1

  2. SQL सर्वर में sysjobhistory डेटाटाइम और अवधि कॉलम प्रारूपित करें

  3. SQL सर्वर में एक ट्रिगर से ईमेल भेजें (T-SQL)

  4. अधिकतम चुनें (एक्स) शून्य लौट रहा है; मैं इसे 0 कैसे लौटा सकता हूं?

  5. SQL सर्वर में "मान को डेटा प्रकार में कनवर्ट करते समय रूपांतरण विफल" को कैसे ठीक करें