2015-12-30 6 views
5

MySQL में निम्नलिखित काम करता है एक संग्रहीत प्रक्रिया में कई चर में एकाधिक स्तंभों का चयन?एसक्यूएल सर्वर:</p> <pre><code>DECLARE myInt INT(20); DECLARE myDate DATETIME; SELECT someInt, someDate INTO myInt, myDate FROM someTable WHERE myName = someName </code></pre> <p>यह है कि एसक्यूएल सर्वर में की तरह कुछ करने के लिए संभव है:

INTO लाइन एफ में "गलत वाक्यविन्यास" के बारे में SQL सर्वर शिकायतें स्थानीय @ variables का प्रयास किया जाता है।

उत्तर

5

सुनिश्चित नहीं है कि मैं आपकी समस्या को समझता हूं। आप एक साथ कई चर सेट करना चाहते हैं:

DECLARE @myInt INT; 
DECLARE @myDate DATETIME; 

SELECT @myInt = someInt, @myDate = someDate 
FROM someTable 
WHERE myName = someName 

यह भी ध्यान रखें चयन कई पंक्तियों को हासिल करेगा यदि चर पिछले पंक्तियों मूल्यों का आयोजन करेगा। वास्तव में चर प्रत्येक पंक्ति के लिए सेट किया जाएगा।

एसक्यूएल सर्वर में भी ध्यान दें कि आपके पास Int घोषणा के लिए पैरामीटर नहीं है। शायद आप Decimal(20) का उपयोग करना चाहते हैं।

+0

'int' घोषणा के बारे में टिप्पणी को क्लैफ़िफ़ाई करने के लिए, SQL सर्वर' int' में 32-बिट पूर्णांक है, और 'bigint' एक 64-बिट पूर्णांक है, इसलिए यदि आपको एक अलग परिशुद्धता की आवश्यकता है तो आप इसका उपयोग कर सकते हैं 'दशमलव' प्रकार। – BateTech

1

हां, इसे नीचे की तरह करें। इसके अलावा, उपसर्ग @ पैरामीटर घोषित करने के लिए साइन इन करें।

DECLARE @myInt INT; 
DECLARE @myDate DATETIME; 

SELECT @myInt = someInt, @myDate = someDate 
FROM someTable 
WHERE myName = someName 
संबंधित मुद्दे