2012-06-06 15 views
10

मैं दो पैरामीटरचयन क्वेरी

DECLARE @nOdc_Id VARCHAR(50) 
DECLARE @nProject_Id VARCHAR(50) 

है और एक का चयन क्वेरी

Select nOdc_Id ,nProject_Id From ProjectTable Where ProjectId='53' 

से पैरामीटर मान सेट करें अब मैं किसी भी एक के रूप में

Set @=nOdc_Id =nOdc_Id 
And @nProject_Id =nProject_Id 

पैरामीटर का मान सेट करने के लिए कृपया चाहते हैं मदद करें मैं इसे स्टोर्डप्रोसेसर में कैसे कार्यान्वित कर सकता हूं।

उत्तर

13
Select @nOdc_Id = nOdc_Id, 
     @nProject_Id = nProject_Id 
From ProjectTable 
Where ProjectId = 53 
4

आप ऐसा कर सकते हैं। और दृष्टिकोण हैं।

SET @nOdc_Id = (select nOdc_Id From ProjectTable Where ProjectId='53'); 
SET @nProject_Id = (select nProject_Id From ProjectTable Where ProjectId='53'); 
+1

यह दृष्टिकोण माइक्रोसॉफ्ट प्रकाशनों में सिफारिश की है। यदि ब्रैकेट के अंदर SELECT कथन अप्रत्याशित रूप से एक से अधिक पंक्ति त्रुटि उत्पन्न की जाएगी - जो वांछित है। यदि प्रोजेक्टटेबल दृष्टिकोण से SELECT @ nOdc_Id = nOdc_ID का उपयोग किया जाएगा, तो एक से अधिक पंक्ति लौटाए जाने पर कोई त्रुटि नहीं उठाई जाएगी, आप इसे बिना किसी जानकारी के गलत डेटा के साथ समाप्त कर देंगे। –

+0

@ इवान__83 इसलिए मैं केवल इस दृष्टिकोण का उपयोग कर रहा हूं (या जब मैंने टी-एसक्यूएल के साथ काम किया था)। – Sajmon

+0

मुझे नहीं पता कि यह स्थिति अन्य आरडीबीएमएस में कैसे संभाली जाती है। लेकिन इस दृष्टिकोण को टीएसक्यूएल में प्राथमिकता दी जाती है। –

1

इस तरह:

DECLARE @nOdc_Id VARCHAR(50) 
DECLARE @nProject_Id VARCHAR(50) 

Select @nOdc_Id = nOdc_Id From ProjectTable Where ProjectId='53' 
select @nProject_Id = nProject_Id From ProjectTable Where ProjectId='53' 
संबंधित मुद्दे