Sqlserver
 sql >> डेटाबेस >  >> RDS >> Sqlserver

एक संग्रहीत प्रक्रिया पैरामीटर सूची में एक अभिव्यक्ति (जैसे फ़ंक्शन कॉल) के परिणाम का उपयोग करना?

आपको एक मध्यवर्ती चर का उपयोग करने की आवश्यकता है। SQL सर्वर पैरामीटर सूची में ही इस तरह के ऑपरेशन का समर्थन नहीं करता है, हालांकि यह कुछ वर्षों से TODO सूची में है! (कनेक्ट आइटम देखें:स्केलर फ़ंक्शन को संग्रहीत कार्यविधि पैरामीटर के रूप में उपयोग करें)

EXEC . के लिए व्याकरण है

[ { EXEC | EXECUTE } ]
    { 
      [ @return_status = ]
      { module_name [ ;number ] | @module_name_var } 
        [ [ @parameter = ] { value 
                           | @variable [ OUTPUT ] 
                           | [ DEFAULT ] 
                           }
        ]
      [ ,...n ]
      [ WITH <execute_option> [ ,...n ] ]
    }
[;]

दस्तावेज़ वर्तमान में value . के लिए स्वीकार्य प्रारूप पर स्पष्ट नहीं है लेकिन ऐसा लगता है कि यह केवल "सरल" भाव हैं जैसे कि शाब्दिक मूल्य या @@ प्रीफ़िक्स्ड सिस्टम फ़ंक्शंस (जैसे @@IDENTITY ) अन्य सिस्टम फ़ंक्शन जैसे SCOPE_IDENTITY() अनुमति नहीं है (यहां तक ​​कि वे जिन्हें CURRENT_TIMESTAMP जैसे कोष्ठकों की आवश्यकता नहीं है) अनुमति नहीं है)।

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

DECLARE @pID INT;

SET @pID = 1;

/*If 2008+ for previous versions this needs to be two separate statements*/
DECLARE @string VARCHAR(50) = 'Could not find given id: ' + CAST(@pID AS VARCHAR(11))

EXEC WriteLog
  'Component',
  'Source',
  @string 


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. SQL सर्वर:संचार लिंक विफलता आवश्यक SSL (पैकेट प्राप्त करने में विफल)

  2. SQL सर्वर टेबल्स स्कीमा और डेटा की तुलना करने के विभिन्न तरीके

  3. SQL सर्वर सम्मिलित उदाहरण

  4. तार्किक संगति-आधारित I/O त्रुटि का पता चला SQL सर्वर को ठीक करने के तरीके

  5. एक कर्सर के साथ Salesforce में SQL सर्वर डेटा सम्मिलित करना