2

I have store-procedure which returns multiple results but when I retrieve it from npm mssql it returns the only first result.

in my T-SQL script:

   CREATE PROCEDURE usp_myStoreProcedure @param1 varchar(3),@param2 varchar(3) 
   AS
   BEGIN
    select * from firstTable where name=@param1;

    select * from secondTable where name=@param2;

   END

when run this :

   result1: 

       | Name | Subject | Mark|
       |----------------------|
       | Alice|  Maths  | 96  |


   result2: 

       | Name | Subject | Mark|
       |----------------------|
       | Bob  | Science | 93  |

in my nodejs using npm mssql package

   let conn = await mssql.connect(config);
   let output= await conn
    .request()
    .input("param1", mssql.VarChar(10), "Alcie")
    .input("param2", mssql.VarChar(10), "Bob")
    .execute("usp_myStoreProcedure");
   mssql.close();
   console.log(output);

current result:

 {
 "recordsets": 
    [
      [
       {
        "Name": "Alice",
        "Subject":"Maths"
        "Mark": 96
       }
     ],
     [] 
  ],
"recordset": 
    [
      {
        "Name": "Alice",
        "Subject":"Maths"
        "Mark": 96
      }
   ],
"output": {},
"rowsAffected": [1,0],
"returnValue": 0
 }

below result2 missing in the output:

       | Name | Subject | Mark|
       |----------------------|
       | Bob  | Science | 93  |
  • might be use `multipleStatements: true` in nodejs connection – Rasa Mohamed Feb 11 '19 at 06:11
  • https://stackoverflow.com/questions/46521392/retrieve-multiple-result-sets-in-sails-js. I think you have to add request.multiple = true; before the request.execute(); – Sanpas Feb 11 '19 at 06:14

0 Answers0