VALUEINLARGE ER -funktio
VALUEINLARGE
-funktio määrittää, vastaako määritetty Int64- tai Kokonaisluku-tyyppi määritetyn luettelokohteen tiettyä arvoa. Funktio totuusarvon arvon TOSI, jos määritetty syöte vastaa määritetyn lausekkeen suorittamisen tulosta vähintään yhdelle määritetyn luettelon tietueelle. Muussa tapauksessa se palauttaa totuusarvonEPÄTOSI. Lisätietoja erosta VALUEIN
-funktioon on jäljempänä tässä artikkelissa kohdassa Käyttötiedote.
Syntaksi
VALUEINLARGE (input, list, list item expression)
Argumentit
input
: kenttä
Tietueluettelo-tyypin tietolähdenimikkeen kelvollinen polku. Tämän nimikkeen arvon vastaavuus määritetään.
list
: Tietueluettelo
Tietueluettelo-tietotyypin tietolähteen kelvollinen polku.
list item expression
: Lauseke
Kelvollinen ehdollinen lauseke, joka joko osoittaa tai sisältää määritetyn luettelon yhden kentän, jota olisi käytettävä vastaavuuteen.
Palautusarvot
Totuusarvo
Tuloksena oleva Totuusarvo-arvo.
Käyttöhuomautukset
Kun määritetty syöte ilmaisee Int64- tai Kokonaisluku-tyyppisen tietolähdenimikkeen, suoraksi SQL-lausekkeeksi käännettävä kutsu, määritetty luettelo muunnetaan väliaikaiseksi SQL-taulukoksi ja vastaavuus suoritetaan tietokannassa suorittamalla yksi EXISTS JOIN
-kysely. Muussa tapauksessa tämä funktio toimii kuten VALUEIN
-funktio.
Kun määritetty syöte ilmaisee tietolähdenimikkeen, joka suunniteltiin muuna kuin Int64- ja Kokonaisluku-tyyppisenä nimikkeenä, suunnitteluvaiheessa tapahtuu virhe, joka ilmoittaa, että VALUEINLARGE
-funktiota ei voi käytätä määritetyssä ER-lausekkeessa.
VALUEINLARGE
-funktion lauseke suoritetaan ja suoritus koskee vähintään kahta väliaikaista taulukkoa, suorituspalveluvirhe tapahtuu.
Esimerkki
Määritä seuraavat tietolähteet omassa mallimäärityksessäsi:
- Taulukon tietueet -tyypin Sisällä-tietolähde.
- Tämä tietolähde viittaa Intrastat-tauluun.
- Yritystenvälinen-asetuksena on Ei.
- Laskettu kenttä -tyypin InMemory-tietolähde.
- Tässä tietolähteessä on lauseke
WHERE (In, In.Port <> "")
.
- Tässä tietolähteessä on lauseke
- Laskettu kenttä -tyypin InFiltered-tietolähde.
- Tässä tietolähteessä on lauseke
FILTER (In, VALUEINLARGE(In.RecId, InMemory, InMemory.RecId)
.
- Tässä tietolähteessä on lauseke
Jos InFiltered-tietolähdettä kutsutaan DEMF-yrityskontekstissa, sovellustietokantaan luodaan uusi väliaikainen taulu, muistiluetteloon kerätyt tietueen tunnistuskoodit lisätään tähän tauluun ja seuraava SQL-lauseke luodaan palauttamaan Intrastat-taulun suodatetut tietueet.
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)))