Del via


ER-funktionen VALUEINLARGE

Funktionen VALUEINLARGE afgør, om det angivne input af typen Int64 eller Heltal svarer til en værdi for et angivet element på den angivne liste. Funktionen returnerer en Boolesk værdi som værende SAND, hvis det angivne input svarer til resultatet af kørslen med det angivne udtryk for mindst én post på den angivne liste. Ellers returneres en Boolesk værdi på FALSK. Hvis du vil forstå forskellen med VALUEIN-funktionen, skal du se afsnittet Bemærkninger til brug senere i denne artikel.

Syntaks

VALUEINLARGE (input, list, list item expression)

Argumenter

input: Felt

Den gyldige sti til et datakildeelement af typen Postliste. Værdien af dette element bliver sammenlignet.

list: Liste over poster

Den gyldige sti til en datakilde af datatypen Postliste.

list item expression: Betingelse

Et gyldigt betinget udtryk, der enten peger på eller indeholder et enkelt felt fra den angivne liste, som skal bruges til sammenligningen.

Returnerede værdier

Boolesk

Den resulterende Booleske værdi.

Bemærkninger til brug

Når det angivne input repræsenterer en Int64- eller Heltal-type for et datakildeelement, vil det kald, der kan oversættes til en direkte SQL-sætning, blive konverteret til en midlertidig SQL-tabel, og matchning udføres i databasen ved at udføre en enkelt EXISTS JOIN-forespørgsel. Ellers virker denne funktion som funktionen VALUEIN.

Når det angivne input repræsenterer et datakildeelement, der er designet som et andet element end Int64- og Heltal-typen, opstår der en fejl, på designtidspunktet om, at VALUEINLARGE-funktionen ikke kan anvendes til det konfigurerede ER-udtryk.

Når VALUEINLARGE-funktionsudtrykket udføres, og der bruges mere end én midlertidig tabel i området for denne udførelse, opstår der en kørselsfejl.

Eksempel

Du definerer følgende datakilder i din modeltilknytning:

  • Datakilden In for typen Tabelpost.
    • Denne datakilde refererer til Intrastat-tabellen.
    • Indstillingen På tværs af firma er angivet til Nej.
  • Datakilden InMemory af typen Beregnet felt.
    • Denne datakilde indeholder udtrykket WHERE (In, In.Port <> "").
  • Datakilden InFiltered af typen Beregnet felt.
    • Denne datakilde indeholder udtrykket FILTER (In, VALUEINLARGE(In.RecId, InMemory, InMemory.RecId).

Når datakilden InFiltered kaldes i konteksten af firmaet DEMF, oprettes der en ny midlertidig tabel i programdatabasen, den indsamlede liste over postidentifikationskoder i hukommelsen indsættes i denne tabel, og følgende SQL-sætning genereres for at returnere filtrerede poster i Intrastat-tabellen.

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)))

Yderligere ressourcer

Logiske funktioner

VALUEIN-funktioner