Megosztás:


TOP (Entity SQL)

A SELECT záradék az opcionális ALL/DISTINCT módosító után egy választható TOP alzáradékkal is rendelkezhet. A TOP al záradék azt határozza meg, hogy csak az első sorhalmaz lesz visszaadva a lekérdezés eredményéből.

Szemantika

[ TOP (n) ]

Érvek

n A visszaadandó sorok számát meghatározó numerikus kifejezés. n lehet egyetlen numerikus literál vagy egyetlen paraméter.

Megjegyzések

A TOP kifejezésnek egyetlen numerikus literálnak vagy egyetlen paraméternek kell lennie. Állandó literál használata esetén a literális típusnak implicit módon Edm.Int64-nek kell lennie (bájt, int16, int32 vagy int64, vagy bármely olyan szolgáltatótípusnak, amely az Edm.Int64-nek promótáblás típusra van leképezve), és értéke nullánál nagyobb vagy egyenlő lehet. Ellenkező esetben kivétel lép fel. Ha egy paramétert kifejezésként használ, a paramétertípusnak implicit módon az Edm.Int64-nek is promotable-nak kell lennie, de a fordítás során nem lesz érvényes a tényleges paraméterérték, mert a paraméterértékek késve vannak határolva.

Az alábbi példa állandó TOP-kifejezésre mutat be:

select distinct top(10) c.a1, c.a2 from T as a

A következő példa a paraméteres TOP-kifejezésre:

select distinct top(@topParam) c.a1, c.a2 from T as a

A TOP nem determinisztikus, kivéve, ha a lekérdezés rendezve van. Ha determinisztikus eredményt szeretne, használja az ORDER BY záradék SKIP és LIMIT al záradékát. A TOP és a SKIP/LIMIT kölcsönösen kizáróak.

példa

Az alábbi Entity SQL-lekérdezés a TOP használatával adja meg a lekérdezés eredményéből visszaadandó első egy sort. A lekérdezés az AdventureWorks értékesítési modellen alapul. A lekérdezés fordításához és futtatásához kövesse az alábbi lépéseket:

  1. Kövesse a How to: Execute a Query that Returns StructuralType Results (Szerkezeti típus eredményeinek visszaadása) című témakör lépéseit.

  2. Adja át a következő lekérdezést argumentumként a ExecuteStructuralTypeQuery metódusnak:

    SELECT VALUE TOP(1) contact FROM AdventureWorksEntities.Contacts AS contact
    

Lásd még