Click here to view and discuss this page in DocCommentXchange. In the future, you will be sent there automatically.
充当占位符,以允许最终用户向预准备语句提供值。这些用户提供的值随后用于执行语句。
{ ? | :name [ : indicator-name ] }
在表达式中使用占位符 ? 或指定的形式。在能够使用列名称或常量的任何情况下,都能够使用输入参数。
用于向语句提供值的精确机制取决于创建 UltraLite 客户端所使用的 API。
使用指定的形式 输入参数的指定形式具有特定含义。通常,name 总是用于指定提供实际值的多个位置。
仅对于嵌入式 SQL 应用程序,indicator-name 会提供在其中放置空指示符的变量。如果将指定形式用于其它组件,将会忽略 indicator-name。
推断数据类型 当从以下模式之一预准备语句时,会推断输入参数的数据类型:
CAST ( ? AS type )
在这种情况下,type 为数据库类型说明,如 CHAR(32)。
二进制运算符的一个操作数正好是输入参数。会将类型推断为操作数的类型。
如果无法推断类型,UltraLite 会生成错误。例如:
-?:操作数是一元的。
? + ?:两个操作数都是输入参数。
以下嵌入式 SQL 语句具有两个输入参数:
INSERT INTO MyTable VALUES ( :v1, :v2, :v1);
v1 的第一个实例向语句中的 v2 和 v1 位置提供它的值。