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

अनाम बाधाओं को छोड़ना

एक कॉलम पर एक व्यक्तिगत अनाम डिफ़ॉल्ट बाधा छोड़ने के लिए निम्नलिखित कोड का उपयोग करें:

DECLARE @ConstraintName VARCHAR(256)
SET @ConstraintName = (
     SELECT             obj.name
     FROM               sys.columns col 

     LEFT OUTER JOIN    sys.objects obj 
     ON                 obj.object_id = col.default_object_id 
     AND                obj.type = 'F' 

     WHERE              col.object_id = OBJECT_ID('TableName') 
     AND                obj.name IS NOT NULL
     AND                col.name = 'ColunmName'
)   

IF(@ConstraintName IS NOT NULL)
BEGIN
    EXEC ('ALTER TABLE [TableName] DROP CONSTRAINT ['[email protected]+']')
END

यदि आप इसे एक डिफ़ॉल्ट कॉलम के लिए करना चाहते हैं, जो शायद मूल प्रश्न से अधिक सामान्य है और मुझे यकीन है कि बहुत से लोग Google खोज से इस पर पहुंचेंगे, तो बस लाइन बदलें:

obj.type = 'F'

करने के लिए

obj.type = 'D'


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. एकाधिक पंक्तियों को कैसे संयोजित करें?

  2. SQL सर्वर:दिनांक सीमाओं की गणना

  3. SQL सर्वर में संदर्भ निकाय खोजें:sys.dm_sql_referencing_entities ()

  4. SQL सर्वर में SELECT से UPDATE का उपयोग कैसे करें

  5. क्या यह कोड SQL इंजेक्शन को रोकता है?