Parameter metadata support
- Last Updated: July 30, 2025
- 2 minute read
- DataDirect Connectors
- ODBC
- MongoDB 8.0
- Documentation
The driver supports returning parameter metadata as described in this section.
Insert and Update statements
The driver supports returning parameter metadata for the following forms of Insert and Update statements:
-
INSERT INTO FOO VALUES(?, ?, ?) -
INSERT INTO FOO (COL1, COL2, COL3) VALUES(?, ?, ?) -
UPDATE FOO SET COL1=?, COL2=?, COL3=? WHERE COL1operator? [{AND | OR}COL2operator?]
where:
- operator
- is any of the following SQL operators:
=,<,>,<=,>=, and<>
Select statements
The driver supports returning parameter metadata for Select statements that contain parameters in ANSI SQL 92 entry-level predicates, for example, such as COMPARISON, BETWEEN, IN, LIKE, and EXISTS predicate constructs. Refer to the ANSI SQL reference for detailed syntax.
Parameter metadata can be returned for a Select statement if one of the following conditions is true:
- The statement contains a predicate value expression that can be targeted
against the source tables in the associated FROM clause. For example:
SELECT * FROM FOO WHERE BAR > ?In this case, the value expression "BAR" can be targeted against the table "FOO" to determine the appropriate metadata for the parameter.
- The statement contains a predicate value expression part that is a nested
query. The nested query's metadata must describe a single column. For
example:
SELECT * FROM FOO WHERE (SELECT X FROM Y WHERE Z = 1) < ?
The following Select statements show further examples for which parameter metadata can be returned:
SELECT COL1, COL2 FROM FOO WHERE COL1 = ? AND COL2 > ?
SELECT ... WHERE COLNAME = (SELECT COL2 FROM T2 WHERE COL3 = ?)
SELECT ... WHERE COLNAME LIKE ?
SELECT ... WHERE COLNAME BETWEEN ? AND ?
SELECT ... WHERE COLNAME IN (?, ?, ?)
SELECT ... WHERE EXISTS(SELECT ... FROM T2 WHERE COL1 < ?)
ANSI SQL 92 entry-level predicates in a WHERE clause containing GROUP BY, HAVING, or ORDER BY statements are supported. For example:
SELECT * FROM T1 WHERE COL = ? ORDER BY 1
Joins are supported. For example:
SELECT * FROM T1,T2 WHERE T1.COL1 = ?
Fully qualified names and aliases are supported. For example:
SELECT A, B, C, D FROM T1 AS A, T2 AS B WHERE A.A = ? AND B.B = ?