IBM Books

Net.Data 参考

列表变量


AIX HP-UX OS/2 OS/390 OS/400 SCO SUN Win NT
X X X X X X X X

可以列出列表变量来构建一个定界的值字符串。当要构建一个具有多个项目的 SQL 查询时 (象某些 WHERE 或 HAVING 语句一样),它们特别有用。

其中的空格是必须的。 通常,值的两边都有一个空格。大部分查询使用布尔或 数学运算符(例如,AND、OR 或 >)。请参阅LIST 语句中的语法和其它信息。

例 1:条件、隐藏和列表变量的使用

%HTML(INPUT){
<FORM METHOD="POST" ACTION="/cgi-bin/db2www/example2.max/report">
Select one or more cities:<BR>
<INPUT TYPE="checkbox" NAME="conditions" VALUE="$$(cond1)">Sao Paulo<BR>
<INPUT TYPE="checkbox" NAME="conditions" VALUE="$$(cond2)">Seattle<BR>
<INPUT TYPE="checkbox" NAME="conditions" VALUE="$$(cond3)">Shanghai<BR>
<INPUT TYPE="submit" VALUE="Submit Query">
</FORM>
%}
 
%DEFINE{
DATABASE="custcity"
%LIST " OR " conditions
cond1="cond1='Sao Paolo'"
cond2="cond2='Seattle'"
cond3="cond3='Shanghai'"
whereClause= ? "WHERE $(conditions)" : ""
%}
 
%FUNCTION(DTW_SQL) mySelect(){
SELECT name, city FROM citylist
$(whereClause)
%}
 
%HTML(REPORT){
@mySelect()
%}

在 HTML 表中,如果没有选择任何框,则 conditions 为空,因此查询中 的 whereClause 也为空。 否则,whereClause 具有选定 值,值之间用布尔运算符 OR 分隔。例如,如果选择了所有这三个城市,则 SQL 查询为:

SELECT name, city FROM citylist
WHERE cond1='Sao Paolo' OR cond2='Seattle' OR cond3='Shanghai'

例 2:值分隔符

%DEFINE %LIST " | " VLIST
%REPORT{
%ROW{
<EM>$(ROW_NUM):</EM> $(VLIST)
%}
%}

表格处理变量 LIST 使用两个引号和一个 OR 栏(" | ")作为此例中的值分隔符。值的字符串之间用引号中的值来分隔。


[ 页的顶部 | 上一页 | 下一页 | 目录 | 索引 ]