我想在@databricks/sql node.js中使用参数化查询

问题描述 投票:0回答:1

查询 =

"select * from repos where id="sj"

参数化=

"select * from repos where id = ?"
result - executestatement(parameterized,"sj")

我想将参数传递给 @databricks/sql 模块的 sql 查询,但我无法找到方法。如果有人知道解决方法,node.js 包列出了这个问题?

参数化查询以防止应用程序的sql注入。

sql node.js parameters sql-injection databricks-sql
1个回答
0
投票

因此

executeStatement
将 sql 字符串和选项对象作为第二个参数。

选项对象可以包括:

  1. namedParameters
    - 键:值对或键:DBSQLParameter 对的对象,其中值是具有值和类型属性的对象

  2. ordinalParameters
    - SQL 文档中定义的参数对象数组,每个参数对象都有名称、值和类型

如果包含这些对象属性中的任何一个,并且 sql 语句中包含 : ,则该值将替换为选项对象中的值。

例如

executeStatement(
  'select * from repos where id = :repo_name',
  {
    namedParameters: {
      repo_name: 'some_repo'
    }
  }
)

这个重要信息没有记录,但可以在代码中看到这里

© www.soinside.com 2019 - 2024. All rights reserved.