2013-07-03 11 views
9

के लिए कॉलम जानकारी प्राप्त करें मैं उपयोगकर्ता-परिभाषित तालिका प्रकार के लिए कॉलम जानकारी कैसे प्राप्त कर सकता हूं?उपयोगकर्ता-परिभाषित तालिका प्रकार

EXEC sp_columns TABLENAME 

मुझे तालिका के लिए सभी कॉलम जानकारी वापस ले जाता है।

मैं खोज-आधारित नामक उपयोगकर्ता-परिभाषित तालिका प्रकार और लगभग समान कॉलम जानकारी के लिए एक ही चीज़ करना चाहता हूं।

मैं इसे प्राप्त करना चाहता हूं इसलिए मैं डेटा टेबल्स जेनरेट कर सकता हूं जो मुझे सी # में चाहिए। दिखाएँ करने के लिए

अद्यतन मैं क्या इस्तेमाल

select c.name as COLUMN_NAME, t.name as [TYPE_NAME], c.precision as [PRECISION], c.is_nullable as [NULLABLE], c.system_type_id, c.precision as [LENGTH] 
from sys.columns c, sys.types t 
where c.object_id = (select type_table_object_id from sys.table_types where name = 'SearchList') 
and t.user_type_id = c.user_type_id 
order by c.column_id 
+0

यही वह है जो मैंने अंत में उपयोग किया –

उत्तर

16

यह सब तालिका प्रकार और उनके कॉलम सूची जाएगा:

select tt.name, c.name from sys.table_types tt 
inner join sys.columns c on c.object_id = tt.type_table_object_id 
order by c.column_id 

आप एक जहां खंड जोड़ सकते हैं और अन्य स्तंभों का चयन कर सकते हैं, उचित रूप में, प्राप्त करने के लिए जिसकी आपको जरूरत है।

4

मैंने कॉलम नाम और डेटा प्रकार के साथ तालिका प्रकार प्राप्त करने के लिए मेरे प्रोजेक्ट में नीचे क्वेरी का उपयोग किया है।

select tt.name AS table_Type, c.name AS table_Type_col_name,st.name AS  
table_Type_col_datatype 
from sys.table_types tt 
inner join sys.columns c on c.object_id = tt.type_table_object_id 
INNER JOIN sys.systypes AS ST ON ST.xtype = c.system_type_id 
order by tt.name 
संबंधित मुद्दे