如何从查询响应中识别表名Node.js

问题描述

我有一个存储过程,该过程返回两个表数据。当我从服务器端脚本执行存储过程时,我将表数据拖在一起作为单独的行。

但是在响应时,我无法弄清楚哪行属于哪个表。 谁能帮我解决这个问题

这是我的代码

server.js

var pool = new ConnectionPool(poolConfig,config);
var sqlGet = "exec dbo.getTableData";
var data = [];

pool.acquire(function (err,tconnection) {
    if (err) {
        console.error(err);
        return;
    }
        
    var request = new Request(sqlGet,function(err,result){
        tconnection.release();
        if(err)
            console.log(err);

            res.send(data);
        });
        request.on('row',function(columns) {
            var row = {};
            columns.forEach(function(column) {
                row[column.metadata.colName] = column.value;
            });
            data.push(row);
        });
    tconnection.execSql(request);
});

我的存储过程代码:

CREATE PROCEDURE [dbo].[getTableData]
AS
      SELECT * FROM table1;
      SELECT * FROM table2;
RETURN

在下面的代码中,我在column I got this response上获得了从存储过程返回的列的列表

 request.on('row',function(columns) {
        var row = {};
        columns.forEach(function(column) {
            row[column.metadata.colName] = column.value;
        });
        data.push(row);
   });

解决方法

感谢@PrashanthReddyBalemula,根据他的评论,我通过从存储过程中返回表名解决了我的问题

Feedbacks

这样,我可以从字段CREATE PROCEDURE [dbo].[getTableData] AS SELECT *,'MyTable1' as TableName FROM table1; SELECT *,'MyTable2' as TableName FROM table2; RETURN 中获取表的名称

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...