SQL中参数的使用

<< Click to Display Table of Contents >>

当前位置:  创建数据集 > SQL数据集 

SQL中参数的使用

Previous pageReturn to chapter overviewNext page

假设有个参数名为a的参数,可以以如下形式用在SQL中。

1.where city=?{a},参数必须传值

此语句是直接用参数值替换"?{a}"的字符。如果a=北京,就替换成"where city=北京"。因此,a不能是空值,否则"where city="的语句就非法了。

2.<a>where city=?{a}</a>,参数可以不传值

此语句用<a></a>来标注此条where语句的起始位置,<></>里的内容要和参数的名字一样,要成对出现,不可嵌套使用。当a是空值的时候,会自动把此标签之内的语句删除,这个例子里where语句被删除,因此允许a为空。

3.?{@a},内嵌参数

这种内嵌的参数将被直接在SQL Statement中替换,而不是调用prepared statement.setParam(),这种办法有更高的灵活性,例如可以不要select而是将select子句作为参数传入, 或者将表名作为参数,如 select * from ?{@a}, a可以是任意输入的table name.