是否可以将空值传递给参数查询?例如
Sql = "insert into TableX values (?,?)".
Params = [{sql_integer, [Val1]}, {sql_float, [Val2]}].
% Val2 may be a float, or it may be the atom, undefined
odbc:param_query(OdbcRef, Sql, Params).
现在,当然,当尝试匹配sql_float时,如果Val2未定义,odbc:param_query / 3会抱怨,但我的问题是......是否可以使用参数化查询,例如:
Sql = "insert into TableY values (?,?,?,?,?,?,?,?,?)".
有任何空参数?我有一个用例,我通过插入或更新将大量实时数据转储到数据库中。我正在更新的一些表有十几个可以为空的字段,我不能保证所有数据都在那里。
为每个查询连接一起SQL,检查空值似乎很复杂,并且执行错误的方法。
对每个排列进行参数化查询根本不是一种选择。
任何想法或想法都会很棒!谢谢!
答案 0 :(得分:1)
您可以使用原子null
来表示空值。例如:
Sql = "insert into TableX values (?,?)".
Params = [{sql_integer, [Val1]}, {sql_float, [null]}].