Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
A função VALUEINLARGE determina se a entrada especificada do tipo Int64 ou Inteiro corresponde a qualquer valor de um item especificado na lista especificada. A função retorna um valor Booliano de TRUE se a entrada especificada corresponder ao resultado da execução da expressão especificada para pelo menos um registro da lista especificada. Caso contrário, ela retorna um valor Booliano de FALSE. Para compreender a diferença com a função VALUEIN, consulte a seção Observação de uso posteriormente neste artigo.
Sintaxe
VALUEINLARGE (input, list, list item expression)
Argumentos
input: Campo
O caminho válido de um item da fonte de dados do tipo Lista de registros. O valor desse item será correspondido.
list: Lista de registros
O caminho válido de uma fonte de dados do tipo Lista de registros.
list item expression: Expressão
Uma expressão condicional válida que aponta para ou contém um único campo da lista especificada que deve ser usado na correspondência.
Valores de retorno
Booliano
O valor Booliano resultante.
Notas de uso
Quando a entrada especificada representa um tipo Int64 ou Inteiro de um item da fonte de dados, a chamada para a qual é traduzível para uma instrução SQL direta, a lista especificada é convertida em uma tabela SQL temporária e a correspondência é realizada no banco de dados executando uma única consulta EXISTS JOIN. Caso contrário, essa função funcionará como a função VALUEIN.
Quando a entrada especificada representa um item de fonte de dados criado como um item diferente do tipo Int64 e Inteiro, ocorre um erro no tempo de design informando que a função VALUEINLARGE não é aplicável à expressão de ER configurada.
Quando expressão da função VALUEINLARGE é executada e mais de uma tabela temporária é usada no escopo dessa execução, ocorre um erro de tempo de execução.
Exemplo
Você define as seguintes fontes de dados no mapeamento de modelo:
- A fonte de dados In do tipo Registros de tabela.
- Essa fonte de dados se refere à tabela Intrastat.
- A opção Interempresarial é definida como Não.
- A fonte de dados InMemory do tipo Campo calculado.
- Essa fonte de dados contém a expressão
WHERE (In, In.Port <> "").
- Essa fonte de dados contém a expressão
- A fonte de dados InFiltered do tipo Campo calculado.
- Essa fonte de dados contém a expressão
FILTER (In, VALUEINLARGE(In.RecId, InMemory, InMemory.RecId).
- Essa fonte de dados contém a expressão
Quando a fonte de dados InFiltered é chamada no contexto da empresa DEMF, uma nova tabela temporária é criada no banco de dados do aplicativo, a lista de códigos de identificação de registros coletada na memória é inserida nesta tabela, e a instrução SQL a seguir é gerada para retornar os registros filtrados da Intrastat.
SELECT … from Intrastat T1
WHERE ((T1.PARTITION=?) AND (T1.DATAAREAID IN (N'DEMF'))) AND
EXISTS (SELECT 'x' FROM tempdb."DBO".? T2 WHERE ((T2.PARTITION=?) AND (T1.RecId=T2.RecId)))