Oracle: 64,000. Source
MySQL:
- By default, there is no limit. The MySQL “text protocol” requires that the .NET client library substitute all parameters before sending the command text to the server; there is no server-side limit that can be enforced, and the client has no limit (other than available memory).
- If using “prepared statements” by calling
MySqlCommand.Prepare()
(and specifyingIgnorePrepare=false
in the connection string), then there is a limit of 65,535 parameters (becausenum_params
has to fit in two bytes).
PostgreSql: EDIT: 34464 for a query and 100 for a function as per Magnus Hagander’s answer (Answer copied here to provide a single point of reference)
SqlLite: 999 (SQLITE_MAX_VARIABLE_NUMBER, which defaults to 999, but can be lowered at runtime) – And for functions default is 100 parameters. See section 9 Of Run-time limits documentation