在 NodeJS 中使用 node-mssql 构造准备好的 sql 模板

Construct prepared sql template with node-mssql in NodeJS

提问人:TheDude 提问时间:9/18/2023 最后编辑:TheDude 更新时间:9/18/2023 访问量:24

问:

我有一个 Express 应用程序,我正在使用 node-mssql 库连接到 mssql 数据库,以便从中检索和写入数据。

现在,在 Express 应用程序的后端,我希望有一个功能,该功能接收一组可选的字段值,这些值对应于数据库中的表架构,并且我想用它执行带有 Where 子句的简单 Select。

我希望功能尽可能灵活,这就是为什么我假设我不知道我事先收到哪一组字段值,因此,想要构建一个准备好的 sql 模板,该模板应根据收到的字段值进行填充。

基本上我想实现此线程中描述的内容 SQL WHERE 列 = 一切

所以结果应该是:

如果集合中提供了任何字段值,则它应该仅在 Where 子句中使用这些字段值执行准备好的 sql 语句。

如果未提供字段值,则它应该执行准备好的 sql,而对 Where 子句没有限制。这基本上与在没有 Where 子句的情况下执行相同的 sql 语句相同。

我相信有一个优雅的解决方案,无需编写两个不同的 sql 语句,然后检查集合中是否提供了任何字段值,然后选择哪个 sql 语句是正确的。

从上面的线程中,我已经发现该解决方案在 sql 客户端中对我有用,如果未提供字段值,我可以想象在 Express 应用程序中设置为默认值。SELECT * FROM table WHERE column = columncolumn

但是,我不确定如何将此类型()提供给node-mssql并使其正确解释它。column

准备语句 node-mssql

评论


答: 暂无答案