可以在查询中使用查找变量来为用户提供一个下拉菜单,该下拉菜单具有运行时变量的可能替代值。查找变量将根据您在变量名中使用的已保存的查询或结果集来创建下拉菜单。在查询或结果中,查找变量将是返回的第一列,它与其它列(如果有的话)之间将用空格隔开。根据数据类型,将自动为它添加引号。查找变量只使用已保存的查询或结果。
要使用查找变量来编写 SQL 查询:
1. 在 DB2 Web Query Tool 导航树的期望连接分支中,单击 SQL 查询。出现一个下拉菜单。
2. 单击该下拉菜单上的新建。编辑查询页面打开。
3. 在输入 SQL 语句字段中,输入 SQL 查询。
4. 可选:要在查询中包括查找变量,使用下列格式之一:
à [q.groupname.queryname]
à [r.groupname.resultname]
à [qm.groupname.queryname]
à [rm.groupname.resultname]
使用想要从其中拉出下拉菜单的查询或结果的名称。以 qm. 或 rm. 开头的查找变量允许您为变量选择多个值。以 q. 或 r. 开头的查找变量允许您选择一个值。
要在查询中定义变量,使用下列语法方法之一。
à ?
à :variable
à [variable]
à &variable
例如,在以下 SQL 语句中,&userid 就是一个变量:
select * from table.sample where user=&userid
还可以使用下列任何系统变量:
à wqsys.time - 将替代当前时间。
à wqsys.date - 将替代当前日期。
à wqsys.timestamp - 将替代当前时间戳记。
à wqsys.user - 将替代您登录时所采用的用户名。
à wqsys.sqlid - 将替代您登录时所采用的 SQL 标识。
à wqsys.database - 将替代您正在存取的数据库的名称。
5. 可选:要在查询中包括注释,使用下列格式之一:
à -- comment
à // comment
注意: 只将注释符号后面的文本当作注释来处理。同一行上注释符号前面的任何文本是作为 SQL 语句的一部分来处理的。
6. 单击下一步。查询选项屏幕打开。
7. 在设置部分,选择自动落实首选项。
à 选择关闭以防止自动将更改落实到数据库中。当选择了此选项时,必须手工落实到数据库中。
注意: 如果选择不自动落实更改,则数据库将保持处于未落实状态。这可能会导致问题。
à 选择当完成时以便在运行了所有 SQL 语句之后将更改落实到数据库中。
à 选择在每个语句之后以便在运行每个 SQL 语句之后就将更改落实到数据库中。
8. 在结果名字段中,输入想要用于结果集的名称。
提示: DB2 Web Query Tool 提供了缺省结果集名称。可以将此名称替换为您喜欢的名称。
9. 在最大行数字段中,输入要在结果集中返回的最大行数。
提示: 要将所有行返回到结果集中,在最大行数字段中输入 0。
10. 在超时字段中,输入超时限制。
11. 从操作下拉菜单中,选择在遇到 LOB 数据时想要执行的操作。
à 选择省略以省略 LOB。
à 选择检索以检索 LOB。
à 选择嵌入以便将 LOB 嵌入结果集中。
12. 如果系统上已经安装了 SQL\PA,并且 SQL/PA 尚未分析您的查询,则在 SQL/PA 部分,未分析将出现在 SQL/PA 旁边。要使用 SQL/PA 来分析查询,单击设置部分的 SQL/PA 部分中的分析。SQL/PA 一次将分析一个语句。因此,如果查询中嵌入了多个 SQL 语句,则您将看到采用累积格式的结果。要设置 SQL/PA 分析选项,单击分析选项。
注意: 如果未安装 SQL/PA,则在 SQL/PA 部分中的 SQL/PA 旁边将出现未安装。
13. 可选:单击编辑 SQL 以编辑 SQL 查询。
14. 单击显示在已解析的查询部分中的每个查找变量并定义它的值。
15. 输入变量的值,或者从下拉菜单中选择一个值(如果提供了的话)。
à 选择使用以替代仅为变量名的该实例指定的值。
à 选择所有引用以替代查询中为变量名的每个实例指定的值。
à 选择忽略以便将变量作为字符串来处理。
提示: 当单击查找变量时,将出现下拉菜单,可以从下拉菜单中为该变量选择值。如果为变量定义了多个选择,则可以通过按住 Control 键来为变量选择多个值。
16. 运行或保存查询。要运行查询,单击运行。
注意: DB2 Web Query Tool 不会验证 SQL。当编写查询时,务必使用正确的 SQL 语法、表名和列名。
DB2 Web Query Tool 将运行查询,并显示查询数据页面。现在,可以运行或保存查询了。可以查看消息页面,并指定如何显示或导出查询结果(如果期望的话)。