Thursday, 15 April 2010

sql - select and insert in one statement -


 <कोड> # Temp2 (RowNumber, ValFromFunc, FuncWeight, प्रतिशत) में डालने का चयन करें RowNumber, PercentMatch, @constVal, PercentMatch * dbo.MatchDate से @constVal (@date)  

dbo.MatchDate (@date) एक इनलाइन TVF जो इस तरह दिखता है:

  बनाएं कार्य [ dbo]। [MatchDate] (@DateFromUser nvarchar (20)) से dbo.Patients पी के रूप में वापसी का चयन करें p.Rowid RowNumber, कास्ट (100 INT के रूप में) के रूप में के रूप में PercentMatch तालिका लौटाता है जहां datename (दिन, p.DOB) = @DateFromUser जीओ  

मेरे पास यह क्वेरी है जहां मैं एक क्वेरी में चयन कर रहा हूं और सम्मिलित हूं। अब मैं एक विस्तारित आवश्यकता जो मुझे ModifiedAt dbo.MatchDate (@date) द्वारा दिया पंक्तियों के लिए और में डालने # Temp2 केवल जांच करने के लिए की आवश्यकता है यदि ModifiedAt लौटाई गई पंक्तियों के लिए कुछ समय से अधिक है टी।

मैं इसके बाद के संस्करण में यह कैसे कर सकता हूं?

आप कर सकते थे अपने कार्य करने के लिए लेकिन केवल ऐसा करना उचित है अगर संशोधित तारीख जोड़ें, तो उसे जोड़ने नहीं है, तो आप केवल सुविधा के लिए यह कर रहे हैं।

यदि आप उस मार्ग को चुनते हैं तो आपकी क्वेरी बस

  INSERT # # (आरओएनम्बर, वालफ्रमफंक, फ़नकीइट, प्रतिशत) में होनी चाहिए। चयन पंक्ति संख्या, प्रतिशत मैच, @ कन्स्टवील, PercentMatch * @constVal FROM Dbo.MatchDate (@ तिथि) जहां संशोधितएट & gt; @YourComparisonDateTime  

हालांकि, आप को संशोधित करने की ज़रूरत नहीं होगी क्योंकि आप अभी भी एक मूल्य पर कार्य कर सकते हैं।

  INSERT IN # Temp2 (RowNumber , ValFromFunc, FuncWeight, प्रतिशत) का चयन करें f.RowNumber, f.PercentMatch, @constVal, dbo.MatchDate से f.PercentMatch * @constVal (@date) भीतरी च f.RowNumber = t.RowNumber --टी पर YourSourceTable टी में शामिल हो। पंक्ति संख्या पहचान या पीके कॉलम है जो f.RowNumber से मेल खाता है - और किसी भी अन्य आवश्यक परिस्थितियों की शर्तों WHERE t.ModifiedAt & gt; @YourComparisonDateTime  

मैंने बहुत सारी मान्यताओं को यहां बनाया है ताकि आपको रिक्त स्थान को भरना होगा या अतिरिक्त जानकारी प्रदान करनी होगी।

आशा है कि आपकी सहायता करता है।

संपादित करें

  INSTERT # # 2 (रोनेम्बर, वालफ्रमफंक्स, फ़नकाइट, प्रतिशत) का चयन करें f.RowNumber, f.PercentMatch, @constVal, f PercentMatch * @constVal FROM dbo.MatchDate (@Date) एफ आंतरिक प्रवेश रोगियों पी। पर आर। संख्या संख्या = पी। आरओआईडी आंतरिक शामिल परिणाम rs पर आरक्षित rs। Rowid = f.RowNumber WHERE p.ModifiedAt & gt; RsmodifiedAt  

No comments:

Post a Comment