मैं information_schema.columns
से चुनने के समान ही view
के कॉलम नामों का चयन करने का प्रयास कर रहा हूं।एक दृश्य के कॉलम का चयन करें
मुझे ऐसा करने का कोई तरीका नहीं दिख रहा है। क्या किसी और ने यह पहले किया है या पता है कि यह भी संभव है?
मैं information_schema.columns
से चुनने के समान ही view
के कॉलम नामों का चयन करने का प्रयास कर रहा हूं।एक दृश्य के कॉलम का चयन करें
मुझे ऐसा करने का कोई तरीका नहीं दिख रहा है। क्या किसी और ने यह पहले किया है या पता है कि यह भी संभव है?
information_schema.columns.Table_name (कम से कम Sql के तहत सर्वर 2000) दृश्य भी शामिल है, तो बस
SELECT * FROM information_schema.columns WHERE table_name = 'VIEW_NAME'
इस प्रयास करें:
SELECT *
FROM sys.views
यह आपको इस तरह के रूप दृश्य देता है - अगर आप स्तंभों की जरूरत है, इस का उपयोग करें:
SELECT *
FROM sys.columns
WHERE object_id = OBJECT_ID('dbo.YourViewNameHere')
सुनिश्चित नहीं हैं कि यह कैसे INFORMATION_SCHEMA
उपयोग कर सकते हैं - मैं कभी भी इसका उपयोग न करें, क्योंकि sys
स्कीमा कैटलॉग दृश्यों की तुलना में यह "गुंजाइश" और अनजान महसूस करता है।
उपलब्ध सभी विचारों के सभी विवरणों के लिए MSDN docs on the Catalog Views देखें और उनमें कौन सी जानकारी हो सकती है।
यह मुझे सभी विचारों का नाम देता है, लेकिन दृश्य में कॉलम के नाम नहीं। – steventnorris
SELECT distinct VIEW_NAME
,TABLE_SCHEMA
,TABLE_NAME
,COLUMN_NAME
FROM INFORMATION_SCHEMA.VIEW_COLUMN_USAGE
--WHERE TABLE_SCHEMA = 'Person'
ORDER BY
VIEW_NAME
,TABLE_SCHEMA
,TABLE_NAME
,COLUMN_NAME
यह एक बहुत ही रोचक क्वेरी है लेकिन यह वास्तव में क्वेरी में परिणाम प्राप्त करने के लिए उपयोग किए गए टेबल कॉलम देता है, न कि व्यू कॉलम लौटाया जाता है। इसलिए यह उत्तर के लिए गलत है लेकिन बहुत कम उपयोगी नहीं है। – AnthonyVO
INFORMATION_SCHEMA दृश्यों का उपयोग डेटाबेस के भीतर वस्तुओं के बारे में मेटाडाटा रखती है। INFORMATION_SCHEMA.COLUMNS मेटाडेटा को पुनः प्राप्त करने के लिए अंतर्निहित sys तालिकाओं का उपयोग करता है (sp_helptext 'master.Information_schema.columns' जांचें)। आप किसी भी दृश्य में इस्तेमाल किए गए कॉलम नामों का चयन करने के लिए इस सरल क्वेरी का उपयोग कर सकते हैं।
SELECT col.name
FROM <db_name>.sys.columns col, <db_name>.sys.views vew
WHERE col.object_id = vew.object_id
AND vew.name = '<view_name>'
स्टैक में आपका स्वागत है, जब भी आप किसी समस्या का उत्तर देते हैं तो हमेशा यह बताने की कोशिश करें कि समाधान पूछताछ में कैसे मदद करेगा। कृपया कुछ समय लें और अपना उत्तर –
संपादित करें 'FROM' खंड पर एकाधिक तालिकाओं के बजाय, आप' जॉइन 'का उपयोग कर सकते हैं। तो क्वेरी sy..columns col से जॉइन sy.views को col.object_id = vew.object_id पर ve col.name = '
एसएसएमएस 2012 – Imad
में कुछ भी नहीं देता है मेरे लिए काम करता है। धन्यवाद! –