开发者

Erlang ODBC parameter query with null parameters

Is it possible to pass null values to parameter queries? For example

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).

Now, of course odbc:param_query/3 is going to complain if Val2 is undefined when trying to match to a sql_float, but my question is... Is it possible to use a parameterized query, such as:开发者_如何学JAVA

Sql = "insert into TableY values (?,?,?,?,?,?,?,?,?)".

with any null parameters? I have a use case where I am dumping a large number of real-time data into a database by either inserting or updating. Some of the tables I am updating have a dozen or so nullable fields, and I do not have a guarantee that all of the data will be there.

Concatenating a SQL together for each query, checking for null values seems complex, and the wrong way to do it.

Having a parameterized query for each permutation is simply not an option.

Any thoughts or ideas would be fantastic! Thank you!


You can use the atom null to denote a null value. For instance:

Sql = "insert into TableX values (?,?)".
Params = [{sql_integer, [Val1]}, {sql_float, [null]}].
0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜