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

एक कॉलम जोड़ें यदि वह सभी तालिकाओं में मौजूद नहीं है?

आप डीडीएल में @tableName जैसे वेरिएबल का उपयोग नहीं कर सकते हैं। इसके अलावा, नाम को भाग में विभाजित करने और स्कीमा को अनदेखा करने से केवल बग हो सकते हैं। आपको बस SQL ​​बैच पैरामीटर में ''?'' प्रतिस्थापन का उपयोग करना चाहिए और MSforeachtable पर भरोसा करना चाहिए प्रतिस्थापन:

EXEC sp_MSforeachtable '
if not exists (select * from sys.columns 
               where object_id = object_id(''?'')
               and name = ''CreatedOn'') 
begin
    ALTER TABLE ? ADD CreatedOn datetime NOT NULL DEFAULT getdate();
end';


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. एसक्यूएल 2005 में पिवोट

  2. SQL सर्वर- टेक्स्ट फ़ाइल में वेरिएबल और क्वेरी परिणाम कैसे लिखें?

  3. संग्रहीत कार्यविधि के लिए एक SqlParameter में दिनांक समय का उपयोग करना, प्रारूप त्रुटि

  4. SQL सर्वर 2008 में दूसरे डेटाबेस के मानों के साथ एक डेटाबेस में अद्यतन रिकॉर्ड?

  5. SQL सर्वर:फ़ंक्शन/प्रक्रिया हस्ताक्षरों को बदलते समय संदर्भों की जाँच करें