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

स्क्रिप्ट के माध्यम से स्वचालित रूप से अस्थायी तालिका कॉलम और डेटाटाइप कैसे उत्पन्न करें?

यह आपको एक शुरुआत दे सकता है:

DECLARE @viewname VARCHAR(50);
SET @viewname ='tableorviewname';
SELECT  c.name + ' '+ t.name + 
case t.name  
WHEN 'varchar' THEN '('+CAST(c.max_length AS VARCHAR(3) )+'),'
ELSE ',' 
end
FROM sys.columns c
INNER JOIN sys.types AS t ON c.system_type_id = t.system_type_id
WHERE object_id = (SELECT object_id from sys.objects where name = @viewname)
ORDER BY c.column_id

संपादित करें:अस्थायी तालिकाएँ:

अस्थायी तालिकाएँ थोड़ी भिन्न हैं, उदाहरण के लिए यह #tv_source

. नामक एक अस्थायी तालिका के लिए sql 2008 में काम करती है
DECLARE @viewortablename VARCHAR(50);
SET @viewortablename ='tempdb..#tv_source';
SELECT  c.name + ' '+ t.name + 
case t.name  
WHEN 'varchar' THEN '('+CAST(c.max_length AS VARCHAR(3) )+'),'
ELSE ',' 
end
FROM tempdb.sys.columns c
INNER JOIN sys.types AS t ON c.system_type_id = t.system_type_id
WHERE object_id =  object_id(@viewortablename)
ORDER BY c.column_id

टिप्पणियाँ:यह एक अल्पविराम से अलग सूची देता है, लेकिन उस अंतिम अल्पविराम को हटाने का प्रयास नहीं किया, यह केवल एक सूची देता है, जिसे आप संभवतः एक स्ट्रिंग और हेरफेर करना चाहते हैं, आदि। फिर गतिशील एसक्यूएल या कुछ के रूप में उपयोग करें। फिर भी, यह आपको एक शुरुआत देनी चाहिए कि आप क्या करना चाहते हैं।

दूसरों के लिए ध्यान दें, एसक्यूएल 2000 उदाहरण के लिए वर्चर (45) पर लंबाई को ठीक से प्रदर्शित नहीं करेगा, यह केवल वर्चर भाग को सूचीबद्ध करेगा और मैंने इस प्रश्न के लिए इसे फिर से काम करने का प्रयास नहीं किया।



  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 सर्वर में सप्ताहांत (सोमवार से शुक्रवार) को छोड़कर दिनों की गणना करना

  2. स्तंभ अनपिवट सूची में अन्य स्तंभों के प्रकार के साथ विरोध करता है

  3. डेटटाइम 2 क्या है?

  4. क्या क्वेरी का उपयोग करके SQL Server 2008 में लॉग साफ़ करना संभव है?

  5. Entity Framework में CreateIfNotExists को गति देने का कोई तरीका?