Index: pages/cli.in ================================================================== --- pages/cli.in +++ pages/cli.in @@ -1352,10 +1352,26 @@ the temp.sqlite_parameters table if it does not already exist. The ".param list" command shows all entries in the temp.sqlite_parameters table. The ".param clear" command drops the temp.sqlite_parameters table. The ".param set KEY VALUE" and ".param unset KEY" commands create or delete entries from the temp.sqlite_parameters table. + +

The VALUE passed to ".param set KEY VALUE" can be either a SQL literal +or any other SQL expression or query which can be evaluated to yield a value. +This allows values of differing types to be set. +If such evaluation fails, the provided VALUE is instead quoted and inserted +as text. +Because such initial evaluation may or may not fail depending upon +the VALUE content, the reliable way to get a text value is to enclose it +with single-quotes protected from the above-described command-tail parsing. +For example, (unless one intends a value of -1365):
+ + .parameter init + .parameter set @phoneNumber "'202-456-1111'" + +

Note that the double-quotes serve to protect the single-quotes +and ensure that the quoted text is parsed as one argument.

The temp.sqlite_parameters table only provides values for parameters in the command-line shell. The temp.sqlite_parameter table has no effect on queries that are run directly using the SQLite C-language API. Individual applications are expected to implement their own parameter binding. You can search for