की प्रत्येक पंक्ति के लिए कोड निष्पादित करें क्या किसी भी प्रकार किसी कर्सर का उपयोग किये बिना किसी भी चयन के लिए कुछ कोड निष्पादित करना संभव है?टीएसक्यूएल - एक चुनिंदा
मेरे मामले में: मेरे पास एक जटिल स्क्रिप्ट के लिए कुछ डेटा स्टोर करने के लिए एक temp तालिका है। अंत में मैं आउटपुट में इस तालिका (कुछ शर्तों से सीमित) की कुछ जानकारी पेंट करना चाहता हूं।
वर्तमान में मैं तालिका के पंक्तियों को सीमित करने के लिए चयन के साथ एक कर्सर का उपयोग कर रहा हूं। इस कर्सर में मैं आउटपुट उत्पन्न करने के लिए
print '...'
का उपयोग कर रहा हूं।
इस तरह के काम करने के लिए एक आसान तरीका होना चाहिए ...
संपादित करें:
create table #tmpAttributes(AttributeId uniqueidentifier, Value float, ValueString nvarchar(max), ActionId uniqueidentifier)
insert into #tmpAttributes (AttributeId, Value, ValueString, ActionId)
select ID,..... -- in this select i'm doing some value conversions, if conversion is not possible i'm using -1
insert into ActionAttribute (ActionDefinitionID, Discriminator, ID, ReferredActionID, ValueDate, ValueListID, ValueMoney, ValueString, ValueUserID)
select @defId, 'ActionAttributeMoneyEntity', NEWID(), ActionId, null, null, Value, null, null from #tmpAttributes
-- afterwards there is this cursor where I'm printint all rows where Value = -1
पर्याप्त जानकारी नहीं है।आप वास्तव में क्या हासिल करने की कोशिश कर रहे हैं? यदि आप हमें पूरा परिदृश्य देते हैं तो आपको लगता है कि आपको जो चाहिए वह करने का एक पूरी तरह से सेट-आधारित तरीका है। – gvee
आप 'temp table' पर एक अतिरिक्त पहचान कॉलम क्यों नहीं डालते हैं जिसे आपने पहले ही बनाया है और प्रत्येक पंक्ति के लिए लूप। –
यदि आप केवल अंत में उन सूचनाओं को प्रिंट करना चाहते हैं तो आपको कर्सर की आवश्यकता क्यों है? – DrCopyPaste