IBM Books

Guia de Referência do Net.Data


Variáveis de Lista


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

As variáveis de lista permitem que você crie uma cadeia de valores delimitada. Elas são particularmente úteis no auxílio à construção de uma consulta SQL com múltiplos itens, como aqueles encontrados em algumas cláusulas WHERE ou HAVING.

Os espaços são significativos. Geralmente, você deseja ter um espaço em ambos os lados do valor separado. A maioria das consultas usam operadores boleanos ou matemáticos (por exemplo, AND, OR, e >). Veja Instrução LIST para a sintaxe e mais informações.

Exemplo 1: Este exemplo usa variáveis condicional, oculta e de lista.

%HTML(INPUT) {
<FORM METHOD="POST" ACTION="/cgi-bin/db2www/example2.max/report">
Selecione uma ou mais cidades:<BR>
<INPUT TYPE="checkbox" NAME="condições" VALUE="$$(cond1)">São Paulo<BR>
<INPUT TYPE="checkbox" NAME="condições" VALUE="$$(cond2)">Seattle<BR>
<INPUT TYPE="checkbox" NAME="condições" VALUE="$$(cond3)">Shangai<BR>
<INPUT TYPE="submit" VALUE="Submit Query">
</FORM>
%}
 
%DEFINE{
DATABASE="custocid"
%LIST " OR " condições
cond1="São Paulo"
cond2="Seattle"
cond3="Shangai"
whereClause=Conditions ? "WHERE $(condições)" : ""
%}
 
%FUNCTION(DTW_SQL) mySelect() {
SELECT nome,cidade FROM listcidade
$(whereClause)
%}
 
%HTML(REPORT){
@mySelect()
%}

No formulário HTML, caso nenhum quadro esteja marcado, condições é nulo, então whereClause também é nulo na consulta. Caso contrário, whereClause possui valores selecionados, separados por OR. Por exemplo, se todas as cidades forem selecionadas, a consulta SQL é:

SELECT nome, cidade FROM listcidade
WHERE cond1='São Paulo' OR cond2='Seattle' OR cond3='Shangai'

Exemplo 2: A variável implícita VLIST usa " | " como um separador de valor neste exemplo. A cadeia de valores é separada pelo valor em vírgulas.

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


[ Início da Página | Página Anterior | Próxima Página | Tabela de Conteúdos | Índice ]