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

नोडजेएस एमएसएसक्यूएल जहां तैयार एसक्यूएल स्टेटमेंट में

ऐसा प्रतीत होता है कि sql ऑब्जेक्ट (यानी mssql मॉड्यूल) में किसी भी चीज़ के सरणियों को संभालने की कोई विशेषता नहीं है। इसके अलावा, ps.input . पर कॉल में एक अदिश प्रकार निर्दिष्ट करना इसी तरह काम नहीं करता।

अगली सबसे अच्छी बात यह है कि अपने sql स्टेटमेंट में ही अपने पैरामीटर की सरणी के लिए कुंजियाँ बनाएँ:

var connection = new sql.Connection(config, function(err) {
        var ps = new sql.PreparedStatement(connection);
        // Construct an object of parameters, using arbitrary keys
        var paramsObj = params.reduce((obj, val, idx) => {
            obj[`id${idx}`] = val;
            ps.input(`id${idx}`, sql.VarChar(200));
            return obj;
        }, {});
        // Manually insert the params' arbitrary keys into the statement
        var stmt = 'select * from table where id in (' + Object.keys(paramsObj).map((o) => {return '@'+o}).join(',') + ')';
        ps.prepare(stmt, function(err) {
            ps.execute(paramsObj, function(err, data) {
                callback(null, data);
                ps.unprepare(function(err) {
                });
            });
        });
    });
}



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. सबक्वेरी में ऑर्डर के साथ एसक्यूएल त्रुटि

  2. SQL सर्वर में SMO का उपयोग करके स्क्रिप्ट जनरेशन को स्वचालित कैसे करें?

  3. ईएफ कोड पहले, अलग-अलग स्कीमा के साथ एक ही टेबल नाम कैसे पंजीकृत करें?

  4. मौजूद 1 या मौजूद का उपयोग करने वाली उपश्रेणी *

  5. SQL सर्वर में 'पिवट' का उपयोग करके पंक्तियों को कॉलम में बदलें