মাইক্রোসফ্ট এসকিউএল সার্ভারে, আমি কলামটি জানতে পারি যে কোনও কলামের জন্য কোনও ডিফল্ট সীমাবদ্ধতা উপস্থিত রয়েছে এবং একটি ডিফল্ট সীমাবদ্ধতা ফেলে দেওয়া হয়েছে তা যাচাই করার জন্য:
IF EXISTS(SELECT * FROM sysconstraints
WHERE id=OBJECT_ID('SomeTable')
AND COL_NAME(id,colid)='ColName'
AND OBJECTPROPERTY(constid, 'IsDefaultCnst')=1)
ALTER TABLE SomeTable DROP CONSTRAINT DF_SomeTable_ColName
কিন্তু ডাটাবেসের পূর্ববর্তী সংস্করণগুলিতে টাইপোর কারণে, সীমাবদ্ধতার নাম হতে পারে DF_SomeTable_ColName
বা DF_SmoeTable_ColName
।
কোনও এসকিউএল ত্রুটি ছাড়াই আমি কীভাবে ডিফল্ট সীমাবদ্ধতা মুছতে পারি? ডিফল্ট সীমাবদ্ধতার নামগুলি INFORMATION_SCHEMA টেবিলটিতে প্রদর্শিত হয় না, যা জিনিসগুলিকে কিছুটা জটিল করে তোলে।
সুতরাং, 'এই টেবিল / কলামে ডিফল্ট সীমাবদ্ধতা মুছুন', বা 'মুছুন DF_SmoeTable_ColName
' এর মতো কিছু তবে এটি যদি খুঁজে না পাওয়া যায় তবে কোনও ত্রুটি দেবেন না।