大量插入数据并需要查询结果才能继续

时间:2019-02-07 23:29:32

标签: node.js pg-promise

我正在解析许多文本文件,并将数据插入表中。对于一种文件类型,我需要在两个表之间拆分文件。表A具有SysId:integer和MyId:整数。表B具有NewId:整数和MyId:整数。我将其简化为其他许多领域,但这是关键。表A将只有一个MyId实例。表B将具有多个实例,因此它是一对多的。我首先查询表A中的MyId。如果我的函数返回-1,则可以安全添加。如果没有,我将获取MyID值,以用于将许多记录发布到表B中。我遇到的问题是我拥有的函数,从不返回任何内容。

我尝试获取ID

lMyId=123456
FoundMyId=GetId(lMyId);

但是此函数从不返回任何内容

这是功能。

function GetId(pMyId) {
    db.any('SELECT myid FROM mytable WHERE myid=$1', [pMyId])
    .then(function(data) {
        if (data.length>0) {
            return data[0].myid
        }
    })
    .catch(function(error) {
        // error;
    });
}

每当我检查FoundMyId时,它都是未定义的。

我意识到这可能是所有异步运行的问题,但是必须有一种方法可以实现。

0 个答案:

没有答案