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

गतिशील कॉलम नामों के साथ एसक्यूएल अद्यतन

information_schema . के विरुद्ध आपकी क्वेरी में आपके पास SQL ​​और डायनेमिक SQL का मिश्रण है . साथ ही QUOTENAME जहां क्लॉज में जरूरी नहीं है और वास्तव में एक मैच को रोक देगा, क्योंकि SQL सर्वर column_name स्टोर करता है , नहीं [column_name] , मेटाडेटा में। अंत में, मैं इसे sys.columns . में बदलने जा रहा हूं चूंकि यह तरीका है हमें SQL सर्वर में मेटाडेटा प्राप्त करना चाहिए . कोशिश करें:

SELECT  @colnames += ',' + name 
  FROM Prod.sys.columns
  WHERE OBJECT_NAME([object_id]) = @objname
  AND name <> CASE WHEN @objname = 'TableXx' THEN 'ExcludeCol1' ELSE '' END
  AND name <> CASE WHEN @objname = 'TableYy' THEN 'ExcludeCol2' ELSE '' END;

SET @colnames = STUFF(@colnames, 1, 1, '');



  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. जॉइन, ग्रुप बाय और होने के साथ अपडेट करें

  3. माता-पिता और बच्चे को एक ही तालिका में संग्रहीत करते समय अभिभावक-बाल संबंध प्रदर्शित करें

  4. SQL सर्वर में तालिका में डुप्लिकेट रिकॉर्ड्स में से एक को छोड़कर सभी को अपडेट करें

  5. टीएसक्यूएल:एक दृश्य बनाएं जो एकाधिक डेटाबेस तक पहुंचता है