sqlInterpolate {DBI} | R Documentation |
Safely interpolate values into an SQL string
sqlInterpolate(conn, sql, ..., .dots = list())
conn |
A database connection. |
sql |
A SQL string containing variables to interpolate.
Variables must start with a question mark and can be any valid R
identifier, i.e. it must start with a letter or |
..., .dots |
Named values (for |
If you are implementing an SQL backend with non-ANSI quoting rules, you'll
need to implement a method for sqlParseVariables()
. Failure to
do so does not expose you to SQL injection attacks, but will (rarely) result
in errors matching supplied and interpolated variables.
sql <- "SELECT * FROM X WHERE name = ?name" sqlInterpolate(ANSI(), sql, name = "Hadley") # This is safe because the single quote has been double escaped sqlInterpolate(ANSI(), sql, name = "H'); DROP TABLE--;")