के साथ सभी संग्रहीत प्रक्रियाओं को सूचीबद्ध करें क्या कोई भी डेटाबेस में अपने स्कीमा नामों के साथ सभी संग्रहीत प्रक्रियाओं को सूचीबद्ध करने के तरीके पर सलाह दे सकता है? धन्यवाद!स्कीमा नाम
उत्तर
इस प्रयास करें:
SELECT
SchemaName = s.name,
ProcedureName = pr.name
FROM
sys.procedures pr
INNER JOIN
sys.schemas s ON pr.schema_id = s.schema_id
यह सभी संग्रहित प्रक्रियाओं और एक परिणाम के सेट के रूप में अपने स्कीमा नाम सूचीबद्ध करना चाहिए।
दोनों विचार - sys.procedures
और sys.schemas
- इसमें कुछ और विशेषताएं हैं - यदि आपको उनकी आवश्यकता हो, तो उन्हें जांचें, उन्हें अपनी क्वेरी में शामिल करें।
आपके सुझाव के लिए धन्यवाद। मैं एक विशिष्ट डेटाबेस के लिए सभी संग्रहीत प्रक्रियाओं और उनके स्कीमा को सूचीबद्ध करने के लिए इसका उपयोग कैसे करूं? – daniness
@daniness: उस डेटाबेस पर जाएं ('उपयोग (yourdatabase)') और फिर इस स्निपेट को निष्पादित करें कोड। यह केवल उस डेटाबेस के विरुद्ध काम करता है जिसमें आप वर्तमान में हैं। –
SELECT [schema] = OBJECT_SCHEMA_NAME([object_id]),
name
FROM sys.procedures;
या
SELECT [schema] = SCHEMA_NAME([schema_id]),
name
FROM sys.procedures;
एक विशिष्ट डेटाबेस के लिए, आप बस पहले कि डेटाबेस के लिए संदर्भ बदल सकते हैं, या मार्क के प्रश्न थोड़ा परिवर्तन (क्योंकि वे कार्यों पर भरोसा करते हैं मेरे प्रश्नों कोई इस मामले में अच्छा कर रहे हैं संदर्भ के प्रति संवेदनशील) हैं कि:
SELECT
SchemaName = s.name,
ProcedureName = pr.name
FROM
databasename.sys.procedures pr
INNER JOIN
databasename.sys.schemas s ON pr.schema_id = s.schema_id;
आप सभी डेटाबेस के लिए यह करने के लिए करना चाहते हैं:
DECLARE @sql NVARCHAR(MAX) = N'';
SELECT @sql += N'
UNION ALL SELECT db = N''' + name + ''',
s.name COLLATE Latin1_General_CI_AI,
o.name COLLATE Latin1_General_CI_AI
FROM ' + QUOTENAME(name) + '.sys.procedures AS o
INNER JOIN ' + QUOTENAME(name) + '.sys.schemas AS s
ON o.[schema_id] = s.[schema_id]'
FROM sys.databases
-- WHERE ... -- probably don't need system databases at least
SELECT @sql = STUFF(@sql, 1, 18, '')
-- you may have to adjust ^^ 18 due to copy/paste, cr/lf, tabs etc
+ ' ORDER BY by db, s.name, o.name';
EXEC sp_executesql @sql;
यदि आपके पास विभिन्न कॉलेशन के साथ डेटाबेस हैं तो कोलेट क्लॉज आवश्यक हैं।
इस sys.procedures से आप मदद कर सकते हैं ..
चुनें *;
यह सभी प्रक्रियाओं को वापस नहीं करेगा। –
आप उन्हें प्राप्त करने के लिए स्क्रिप्ट जनरेटर का उपयोग कर सकते हैं। बाएं पैन में उस डेटाबेस पर क्लिक करें जिसके लिए आप संग्रहीत प्रक्रियाएं प्राप्त करना चाहते हैं, कार्य-> स्क्रिप्ट उत्पन्न करें अगला क्लिक करें और विशिष्ट डेटाबेस ऑब्जेक्ट का चयन करें और संग्रहीत प्रक्रियाओं का चयन करें और अगले पर क्लिक करें, वहां आप कस्टमाइज़ कर सकते हैं क्योंकि आपको आवश्यकता है और उत्पन्न करना है स्क्रिप्ट।
इस प्रयास करें:
execute [sys].[sp_stored_procedures]
या यह कोशिश करते हैं और यह भी सभी मापदंडों मिलती है:
execute [sys].[sp_sproc_columns]
ठीक है ... आप इस के साथ सभी डीबी कैटलॉग नामों लूप करने के लिए है, लेकिन जाएगा। ..
SELECT name,crdate FROM dbo.sysobjects WHERE (type = 'P') order by name
SELECT [schema] = OBJECT_SCHEMA_NAME([object_id]),name FROM sys.procedures;
select OBJECT_SCHEMA_NAME([object_id]) as 'SchemaName',name as 'SP Name ' ,
create_date,modify_date FROM sys.procedures order by OBJECT_SCHEMA_NAME([object_id]), name
इसमें कुछ विवरण जोड़ें, यह क्यों काम करेगा और यह कैसे काम करता है। – piyushj
- 1. ट्रिडियन में स्कीमा ऑब्जेक्ट से स्कीमा नाम कैसे प्राप्त करें?
- 2. स्कीमा
- 3. स्कीमा
- 4. एक्सएमएल स्कीमा
- 5. फ़ाइल नाम के बजाय XmlReader सेटिंग्स को स्कीमा जोड़ना (एम्बेडेड संसाधन) स्कीमा?
- 6. स्कीमा
- 7. स्कीमा
- 8. स्कीमा
- 9. स्कीमा
- 10. स्कीमा
- 11. स्कीमा
- 12. डीबीओ स्कीमा
- 13. रेल पोस्टग्रेस्क्ल एकाधिक स्कीमा और एक ही तालिका का नाम
- 14. मैं एक MySQL स्कीमा का नाम कैसे बदलूं?
- 15. समान नाम वाले तत्वों के लिए एक्सएमएल स्कीमा लेकिन संदर्भ
- 16. कैसे एक MySQL में एक स्कीमा नाम बदलने करता
- 17. ओरेकल: तालिका और स्कीमा नाम के बीच असंबद्ध
- 18. django में "syncdb" चलाते समय स्कीमा नाम कैसे निर्दिष्ट करें?
- 19. डाटाबेस स्कीमा
- 20. एक्सएसडी स्कीमा
- 21. एप्लिकेशन मेनिफेस्ट स्कीमा
- 22. wsimport - कोई नामस्थान वाला आयातित स्कीमा ==> नाम 'जनरेटेड' नाम के साथ पैकेज
- 23. मैं कैसे डाटाबेस स्कीमा
- 24. स्केलेबल डाटाबेस टैगिंग स्कीमा
- 25. विभिन्न स्कीमा
- 26. XML स्कीमा
- 27. एवरो स्कीमा
- 28. स्कीमा परिभाषा
- 29. एक स्कीमा
- 30. postgreSQL स्कीमा
कोशिश 'DatabaseName.information_schema.routines जहां routine_type = 'PROCEDURE'' – aserwin
धन्यवाद, aserwin और marc_s से * चुनें। मुझे कैसे पता चलेगा कि यह इस डेटाबेस के लिए सभी संग्रहीत प्रक्रियाओं को सूचीबद्ध करेगा b/c मैंने इसे चलाया और 1,510 रिकॉर्ड की तुलना में 164 पंक्तियां प्राप्त कीं, जब मैंने एक और क्वेरी चलाई, जिसे मैंने सहेजा नहीं था, इसलिए मुझे यकीन नहीं है कि यह क्या था :-( – daniness