WSZYSTKIE (Transact-SQL)
Porównuje wartość wartość skalarna z jedno -kolumna zestaw wartości.
Składnia
scalar_expression { = | <> | != | > | >= | !> | < | <= | !< } ALL ( subquery )
Argumenty
scalar_expression
Wszelkie obowiązuje wyrażenie.{ = | <> | != | > | >= | !> | < | <= | !< }
Jest operatorporównania.subquery
Jest podzapytanie , która zwraca zestaw wyników jedną kolumna.Typ danych zwróconej kolumna muszą być tego samego typu danych jako typ danych scalar_expression.Jest ograniczone wybierz instrukcja, w którym ORDER BY klauzulaobliczeń klauzulai słowa kluczowego INTO nie są dozwolone.
Typy wyników
Boolean
Wartość wyniku
Zwraca wartość PRAWDA, porównanie określona jest wartość TRUE dla wszystkich par (scalar_expression**,**x), gdy x jest wartością w jedno -kolumna zestaw; w przeciwnym razie zwraca wartość FALSE.
Uwagi
WSZYSTKIE wymaga scalar_expression do porównywania pozytywnie, co wartość zwróconych przez podzapytanie.Dla wystąpienie, jeśli podzapytanie zwraca wartości 2 i 3, scalar_expression <= ALL (podzapytanie) będą interpretowane jako wartość TRUE dla scalar_expression 2.Jeśli podzapytanie zwraca wartości 2 i 3, scalar_expression = ALL (podzapytanie) będzie interpretowane jako FAŁSZ, ponieważ niektóre wartości podzapytanie (wartość 3) czy spełnia kryteria wyrażenie.
Dla instrukcji, które wymagają scalar_expression porównywania pozytywnie tylko jedną wartość, która jest zwróconych przez podzapytanieZobacz NIEKTÓRE | WSZELKIE (Transact-SQL).
W tym temacie odnosi się do wszystkich, gdy jest używany z podzapytanie.WSZYSTKIE można również z Unii i Zaznacz.
Przykłady
Poniższy przykład tworzy procedura składowana , która określa, czy wszystkie składniki określonego SalesOrderID w AdventureWorks2008R2 bazy danych może być produkowana w określoną liczbę dni.W przykładzie użyto do utworzenia listy liczbę podzapytanie DaysToManufacture wartość dla wszystkich składników szczególnych SalesOrderIDi potwierdza, że wszystkie DaysToManufacture są w ciągu określonej liczby dni określonej.
USE AdventureWorks2008R2 ;
GO
CREATE PROCEDURE DaysToBuild @OrderID int, @NumberOfDays int
AS
IF
@NumberOfDays >= ALL
(
SELECT DaysToManufacture
FROM Sales.SalesOrderDetail
JOIN Production.Product
ON Sales.SalesOrderDetail.ProductID = Production.Product.ProductID
WHERE SalesOrderID = @OrderID
)
PRINT 'All items for this order can be manufactured in specified number of days or less.'
ELSE
PRINT 'Some items for this order cannot be manufactured in specified number of days or less.' ;
Aby przetestować procedurę wykonać procedury za pomocą SalesOrderID 49080, która ma jeden składnik wymagających 2 dni i dwa składniki, które wymagają 0 dni.Pierwsza instrukcja poniżej spełnia kryteria.Nie jest drugą kwerendę.
EXECUTE DaysToBuild 49080, 2 ;
Oto zestaw wyników.
All items for this order can be manufactured in specified number of days or less.
EXECUTE DaysToBuild 49080, 1 ;
Oto zestaw wyników.
Some items for this order cannot be manufactured in specified number of days or less.
Zobacz także