$PARTYCJI (Transact-SQL)
Zwraca numer partycji, do którego zestaw partycjonowaniewartości wkolumna mogłoby być mapowane dla jakiejkolwiek określonej partycji funkcja.
Składnia
[ database_name. ] $PARTITION.partition_function_name(expression)
Argumenty
database_name
Jest to nazwa bazy danych, która zawiera funkcjapartycji.partition_function_name
Jest to nazwa jakiejkolwiek istniejącej partycji funkcja przeciwko któremu zestaw partycjonowaniewartości wkolumna są stosowane.expression
Jest wyrażenie typie danych musi odpowiadać lub być jawnie konwertowany na typ danych jego partycjonowanie kolumna.expressionmożna także nazwa partycjonowanie kolumna aktualnie wykorzystywanej w partition_function_name.
Zwracane typy
int
Uwagi
Zwraca PARTYCJI $ int wartość między 1 a liczba partycji partycji funkcja.
PARTYCJA $ zwraca numer partycji dla prawidłową wartość, niezależnie od tego, czy wartość aktualnie znajduje się w tabela partycjonowana lub indeksu, który używa funkcjapartycji.
Przykłady
A.Pobieranie wartości wkolumna numer partycji dla zestaw partycjonowanie
Poniższy przykład tworzy partycję funkcja RangePF1 , będzie partycji tabela lub indeks do czterech partycji.$PARTYCJI jest używana do określenia, że wartość 10, reprezentujących partycjonowanie kolumna z RangePF1, spowodowałaby partycji 1 tabela.
USE AdventureWorks2008R2 ;
GO
CREATE PARTITION FUNCTION RangePF1 ( int )
AS RANGE FOR VALUES (10, 100, 1000) ;
GO
SELECT $PARTITION.RangePF1 (10) ;
GO
B.Uzyskiwanie liczbę wierszy w każdej partycji niepusty tabela partycjonowana lub indeksie
Poniższy przykład zwraca liczbę wierszy w każdej partycji tabela TransactionHistory zawierający dane.TransactionHistoryKorzysta ztabela partycji, funkcja TransactionRangePF1 i jest podzielony na partycje na TransactionDatekolumna.
Ostrzeżenie
Do wykonać w tym przykładzie należy najpierw uruchomić skrypt PartitionAW.sql przeciwko AdventureWorks2008R2 przykładowej bazy danych.Aby uzyskać więcej informacji, zobacz Zagadnienia dotyczące instalowania przykładów i przykładowych baz danych programu SQL Server.
USE AdventureWorks2008R2 ;
GO
SELECT $PARTITION.TransactionRangePF1(TransactionDate) AS Partition,
COUNT(*) AS [COUNT] FROM Production.TransactionHistory
GROUP BY $PARTITION.TransactionRangePF1(TransactionDate)
ORDER BY Partition ;
GO
C.Zwracanie wszystkich wierszy z jednej partycji tabela partycjonowana lub indeksu
Poniższy przykład zwraca wszystkie wiersze, które znajdują się w partycji 5 z tabela TransactionHistory.
Ostrzeżenie
Do wykonać w tym przykładzie należy najpierw uruchomić skrypt PartitionAW.sql przeciwko AdventureWorks2008R2 przykładowej bazy danych.Aby uzyskać więcej informacji, zobacz Zagadnienia dotyczące instalowania przykładów i przykładowych baz danych programu SQL Server.
SELECT * FROM Production.TransactionHistory
WHERE $PARTITION.TransactionRangePF1(TransactionDate) = 5 ;