views:

274

answers:

1

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:

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!

A: 

It seems reasonable that null parameters would be supported. What problems do you encounter when you try this?

Andy