$PARTITION (Transact-SQL)
İçine bir küme , bölümleme sütun değerleri için herhangi bir belirtilen bölüm işleveşlenmesi bölüm numarasını döndürür.
Sözdizimi
[ database_name. ] $PARTITION.partition_function_name(expression)
Bağımsız değişkenler
database_name
Bölüm işleviçeren veritabanı adıdır.partition_function_name
Hangi karşı varolan tüm bölüm işlev bir küme , bölümleme sütun değerleri uygulanır adıdır.expression
Olan bir ifade veri türü eşleşen veya karşılık gelen bölümleme sütunveri türüne örtük olarak dönüştürülebilir.expressionAyrıca şu anda bir bölümleme sütun adı olarak partition_function_name.
Dönüş Türleri
int
Açıklamalar
$Bölüm işlevi bir int bölüm işlevbölüm sayısı ile 1 arasında bir değer.
$BÖLÜM bölüm numarası değeri şu anda bölümlenmiş tablo veya bölüm işlevkullanan dizin içinde var olup olmadığına bakılmaksızın herhangi bir geçerli değer verir.
Örnekler
A.Bölüm numarası bir küme , bölümlemeiçinsütun değerler alma
Aşağıdaki örnek, bir bölüm işlevoluştururRangePF1 bir tablo ya da dizin dört bölüm halinde bölüm $BÖLÜMÜ, belirlemek için kullanılan değer 10, bölümleme sütun temsil eden RangePF1, tablo1 bölümünde koyabilirsiniz.
USE AdventureWorks2008R2 ;
GO
CREATE PARTITION FUNCTION RangePF1 ( int )
AS RANGE FOR VALUES (10, 100, 1000) ;
GO
SELECT $PARTITION.RangePF1 (10) ;
GO
B.bölümlenmiş tablo veya dizin boş olmayan her bölümünde satır sayısını alma
Aşağıdaki örnek, her tablobölümünde satır sayısını verirTransactionHistory içeren veri. TransactionHistorytablo bölüm işlevkullanan TransactionRangePF1 ve üzerinde bölümlenmiş TransactionDatesütun.
Not
yürütmek Bu örnekte, önce karşı PartitionAW.sql komut dosyasını çalıştırmanız gerekir AdventureWorks2008R2 örnek veritabanı.Daha fazla bilgi için, bkz. SQL Server Örnekleri ve Örnek Veritabanlarının Yüklenmesiyle İlgili Önemli Noktalar.
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.bölümlenmiş tablo veya dizin bölümünden tüm satırları döndüren
Aşağıdaki örnek bölümünde bulunan tüm satırları verir 5 tablo TransactionHistory.
Not
yürütmek Bu örnekte, önce karşı PartitionAW.sql komut dosyasını çalıştırmanız gerekir AdventureWorks2008R2 örnek veritabanı.Daha fazla bilgi için, bkz. SQL Server Örnekleri ve Örnek Veritabanlarının Yüklenmesiyle İlgili Önemli Noktalar.
SELECT * FROM Production.TransactionHistory
WHERE $PARTITION.TransactionRangePF1(TransactionDate) = 5 ;