MULTISET (Entity SQL)
Tworzy wystąpienie wielozestawu na podstawie listy wartości. Wszystkie wartości w konstruktorze MULTISET muszą mieć zgodny typ T
. Puste konstruktory wielozestawowe nie są dozwolone.
MULTISET ( expression [{, expression }] )
-- or
{ expression [{, expression }] }
expression
Dowolna prawidłowa lista wartości.
Kolekcja typu MULTISET<T>.
Jednostka SQL udostępnia trzy rodzaje konstruktorów: konstruktorów wierszy, konstruktorów obiektów i konstruktorów wielozestawowych (lub kolekcji). Aby uzyskać więcej informacji, zobacz Konstruowanie typów.
Konstruktor wielozestawowy tworzy wystąpienie wielozestawu na podstawie listy wartości. Wszystkie wartości w konstruktorze muszą być zgodnego typu.
Na przykład poniższe wyrażenie tworzy wielozestaw liczb całkowitych.
MULTISET(1, 2, 3)
{1, 2, 3}
Uwaga
Zagnieżdżone literały wielozestawowe są obsługiwane tylko wtedy, gdy zawijanie wielu zestawów ma jeden element wielozestawowy; na przykład {{1, 2, 3}}
. Jeśli zawijanie wielu zestawów zawiera wiele elementów wielozestawowych (na przykład {{1, 2}, {3, 4}}
), zagnieżdżone literały wielozestawowe nie są obsługiwane.
Następujące zapytanie Entity SQL używa operatora MULTISET do utworzenia wystąpienia wielozestawu na podstawie listy wartości. Zapytanie jest oparte na modelu AdventureWorks Sales. Aby skompilować i uruchomić to zapytanie, wykonaj następujące kroki:
Postępuj zgodnie z procedurą w temacie Instrukcje: wykonywanie zapytania zwracającego wyniki StructuralType.
Przekaż następujące zapytanie jako argument do
ExecuteStructuralTypeQuery
metody :
SELECT VALUE product FROM AdventureWorksEntities.Products
AS product
WHERE product.ListPrice IN MultiSet (@price1, @price2)