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

टी-एसक्यूएल का उपयोग करके विदेशी कुंजी बाधाओं को अस्थायी रूप से कैसे अक्षम किया जा सकता है?

यदि आप डेटाबेस में सभी बाधाओं को अक्षम करना चाहते हैं तो बस इस कोड को चलाएं:

-- disable all constraints
EXEC sp_MSforeachtable "ALTER TABLE ? NOCHECK CONSTRAINT all"

उन्हें वापस चालू करने के लिए, दौड़ें:(प्रिंट निश्चित रूप से वैकल्पिक है और यह केवल तालिकाओं को सूचीबद्ध कर रहा है)

-- enable all constraints
exec sp_MSforeachtable @command1="print '?'", @command2="ALTER TABLE ? WITH CHECK CHECK CONSTRAINT all"

एक डेटाबेस से दूसरे डेटाबेस में डेटा पॉप्युलेट करते समय मुझे यह उपयोगी लगता है। बाधाओं को छोड़ने की तुलना में यह बहुत बेहतर तरीका है। जैसा कि आपने उल्लेख किया है कि डेटाबेस में सभी डेटा को छोड़ते समय और इसे फिर से भरना (परीक्षण वातावरण में कहें) आसान होता है।

यदि आप सभी डेटा को हटा रहे हैं तो आपको यह समाधान मददगार लग सकता है।

साथ ही कभी-कभी सभी ट्रिगर को अक्षम करना भी आसान होता है, आप यहां पूरा समाधान देख सकते हैं।



  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 Server 2012 में डिलीट हुई टेबल को कैसे रिकवर करें

  2. SQL Server 2008 और SQL Server 2008 R2 चलाने वाले उपयोगकर्ता ध्यान दें

  3. कीवर्ड 'with' के पास गलत सिंटैक्स...पिछला कथन अर्धविराम से समाप्त किया जाना चाहिए

  4. SQL सर्वर (T-SQL) से ईमेल कैसे भेजें

  5. एसक्यूएल फजी मिलान