SQL क्वेरी का उपयोग कर तालिका में किसी कॉलम का डिफ़ॉल्ट मान कैसे प्राप्त कर सकता हूं?SQL सर्वर: किसी क्वेरी के साथ कॉलम का डिफ़ॉल्ट मान पता करें
इस संग्रहीत प्रक्रिया का उपयोग द्वारा:
sp_columns @tablename
मैं किसी विशेष तालिका लेकिन कॉलम नहीं हैं का डिफ़ॉल्ट मान के स्तंभों पर कुछ जानकारी प्राप्त, मैं इसे कैसे मिल सकता है?
SELECT so.name AS table_name,
sc.name AS column_name,
sm.text AS default_value
FROM sys.sysobjects so
JOIN sys.syscolumns sc ON sc.id = so.id
LEFT JOIN sys.syscomments sm ON sm.id = sc.cdefault
WHERE so.xtype = 'U'
AND so.name = @yourtable
ORDER BY so.[name], sc.colid
यह एसक्यूएल सर्वर 2008 पर मेरे लिए कुछ भी नहीं देता है ... और मैं एक तथ्य के लिए पता है कि मेरी sch एएमए/टेबल/फील्ड नाम सही हैं, और वास्तव में एक डिफ़ॉल्ट है। – Amalgovinus
@Amalgovinus यह निश्चित रूप से काम करता है। क्या आप इसे सही डेटाबेस संदर्भ में चला रहे हैं? क्या आप जिस खाते में क्वेरी चला रहे हैं, उसके पास परिभाषा देखने के लिए पर्याप्त अनुमतियां हैं? –
हाँ, मुझे अनुमति नहीं थी। अन्य परिस्थितियों में Mssql आपको यह बताने के लिए पर्याप्त "अच्छा" है कि आप sysobjects, आदि जैसी चीजों तक नहीं पहुंच सकते हैं, लेकिन इस मामले में यह दिखाता है कि अगर आप किसी ऐसे डेटाबेस का उपयोग नहीं कर रहे हैं जिस पर आपको अनुमति है, तो यह दिखाने के लिए कुछ भी नहीं है । मुझे इसके लिए काम करने के लिए एक डिफ़ॉल्ट डेटाबेस सेट करना पड़ा। http://stackoverflow.com/questions/362434/how-can-i-change-my-default-database-in-sql-server-without-using-ms-sql-server-m – Amalgovinus