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

डायनेमिक एसक्यूएल (पैरामीटर के रूप में टेबल का नाम पास करना)

ठीक है, सबसे पहले आपने अपनी स्ट्रिंग से '+' छोड़ दिया है। काम करने का यह तरीका आदर्श से बहुत दूर है, लेकिन आप ऐसा कर सकते हैं

DECLARE @SQL varchar(250)
SELECT @SQL = 'SELECT * FROM ' + QuoteName(@Alias)
Exec(@SQL)

हालांकि, मैं दृढ़ता से पुनर्विचार करने का सुझाव दूंगा कि आप यह कैसे करते हैं। डायनेमिक SQL उत्पन्न करने से अक्सर SQL इंजेक्शन कमजोरियाँ होती हैं और साथ ही SQL सर्वर (और अन्य DB) के लिए आपकी क्वेरी को संसाधित करने का सबसे अच्छा तरीका काम करना कठिन हो जाता है। यदि आपके पास एक संग्रहीत प्रक्रिया है जो किसी भी तालिका को वापस कर सकती है, तो आपको वास्तव में संग्रहीत प्रक्रिया होने से वास्तव में कोई लाभ नहीं मिल रहा है क्योंकि यह अनुकूलन के तरीके में बहुत कुछ करने में सक्षम नहीं होगा, और आप कर रहे हैं सुरक्षा लाभों को भी काफी हद तक क्षीण कर रहा है।



  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 सर्वर में समूहीकृत संयोजन

  2. फ्लोट असंगतता का औसत

  3. टी-एसक्यूएल एक्सओआर ऑपरेटर

  4. SQL सर्वर के लिए मावेन निर्भरता की स्थापना

  5. चालू वर्ष की पहली और आखिरी तारीख कैसे प्राप्त करें?