Adding Extended Property in SQL Server by a loop -
मेरे पास विस्तारित प्रॉपर्टीज़
--- नीचे एक तालिका है -------------------------------------------------- --------------------- | डेटाबेसनाम | स्कीमानाम | | टेबलनाम | कॉलमनाम | विवरण | -------------------------------------------------- ------------------------- | डेटाबेस 1 | डीबो | उपयोगकर्ता | UserId | यह यूजर आईडी है | -------------------------------------------------- ------------------------- | डेटाबेस 1 | डीबो | उपयोगकर्ता | नाम | यह उपयोगकर्ता नाम है | -------------------------------------------------- ------------------------- | डेटाबेस 2 | डीबो | टिप्पणियाँ | टिप्पणीआईडी | यह आईडी है | -------------------------------------------------- ------------------------- | डेटाबेस 2 | डीबो | टिप्पणियाँ | विवरण | यह वर्णन है | -------------------------------------------------- ------------------------- तालिका में 200 प्रविष्टियां हैं
एसक्यूएल सर्वर मैनेजमेंट स्टूडियो में प्रत्येक कॉलम को जाने और उन विवरणों को दर्ज करने के बजाय मैं प्रत्येक कॉलम विस्तारित संपत्ति बनाने के लिए एक लूप लिखना चाहता हूं।
पहली पंक्ति के लिए एसक्यूएल क्वेरी नीचे की तरह है:
USE डेटाबेस 1 जीओ एक्सीक sys.sp_addextendedproperty @ name = N'Caption ', @ value = N'this उपयोगकर्ता आईडी है, @ level0type = N'SCHEMA', @ level0name = N'dbo ', @ level1type = N'TABLE', @ स्तर 1 नाम = N'Users ', @ level2type = N'COLUMN', @ level2name = N'UserId ' मैं होता इस क्वेरी को चलाने के लिए एक लूप बनाना चाहते हैं (सी # में यह नीचे जैसा कुछ होगा)
foreach (विस्तारित प्रॉपर्टीज़ में विभिन्न पंक्ति) {USE row.DatabaseName GO EXEC sys.sp_addextendedproperty @ name = N 'कैप्शन', @ वैल्यू = एन पंक्ति। डिस्क्रिप्शन, @ लेवल0 टाइप करें = N'SCHEMA, @ level0name = N'dbo ', @ level1type = N'TABLE', @ स्तर 1 नाम = एन पंक्ति.TableName, @ level2type = N'COLUMN ', @ लेवल 2 नाम = एन पंक्ति। कॉलमनाम} मैं कैसे प्राप्त कर सकता हूं SQL में यह लूप क्या है?
डेटा पंक्ति-दर-पंक्ति के आधारों में हेरफेर करने के लिए SQLServer का एक ऑब्जेक्ट है, लेकिन इस मामले में मैं एक गतिशील एसक्यूएल का उपयोग करूँगा।
DECLARE @dsql nvarchar (अधिकतम) = '' SELECT @dsql + = 'USE [' + DatabaseName + '] EXEC sys.sp_addextendedproperty @name = N'Caption '', '+' @ value = '' '+ [विवरण] +' '', @ level0type = N'SCHEMA '', '+' @ level0name = N''dbo '', @ Level1type = N''TABLE '', @ level1name = N '' + + TableName + '' ',' + '@ level2type = N''COLUMN' ', @ level2name = N' '' + कॉलमनाम + '' '' डीबो से। विस्तारित प्रॉपर्टीज --PRINT @dsql EXEC sp_executesql @dsql
Comments
Post a Comment