在Loopback 4中使用Execute()执行多个Raw SQL语句



Loopback 4使用自己的Juggler ORM。但是我似乎找不到所需的参数,以便能够使用"execute"执行多个SQL语句。方法。

await this.myRepository.execute(`SELECT * FROM FIRST_TABLE WHERE TABLE_ID = 1; SELECT * FROM SECOND_TABLE WHERE TABLE_ID = 1;`);

这应该可以通过设置一个"多语句"来使用任何其他ORM。选项为true

我认为实现这一目标的唯一方法是做承诺。

试试这个

await Promise.all([
this.myRepository.execute(`SELECT * FROM FIRST_TABLE WHERE TABLE_ID = 1`),
this.myRepository.execute(`SELECT * FROM SECOND_TABLE WHERE TABLE_ID = 1`)
]);

我认为,如果你试图执行一个" select ";语句,您希望捕获/返回结果输出。我不确定如何处理多个结果,所以,我认为你需要执行下面的单个语句:

const Result = await this.myRepository.execute(
`SELECT * FROM FIRST_TABLE WHERE TABLE_ID = 1`
);
然而,在execute方法中传递参数的方式是使用第二个参数作为数组:
await this.myRepository.execute(
`SELECT * FROM FIRST_TABLE WHERE TABLE_ID = ?; 
SELECT * FROM SECOND_TABLE WHERE TABLE_ID = ?;`,
[FirstTableId,SecondTableId]
);

相关内容

  • 没有找到相关文章

最新更新