Exporter (0) Imprimer
Développer tout
Développer Réduire
Ce sujet n'a pas encore été évalué - Évaluez ce sujet

$PARTITION (Transact-SQL)

Retourne le numéro de la partition dans laquelle un ensemble de valeurs de colonnes de partitionnement doit être mappé afin de pouvoir être utilisé par une fonction de partition précise.

Icône Lien de rubrique Conventions de syntaxe de Transact-SQL


[ database_name. ] $PARTITION.partition_function_name(expression)

database_name

Nom de la base de données contenant la fonction de partition.

partition_function_name

Nom de la fonction de partition existante à laquelle un ensemble de valeurs de colonnes de partitionnement est appliqué.

expression

Expression dont le type de données doit correspondre ou être convertible de façon implicite au type de données de sa colonne de partitionnement en contrepartie. L'expression peut également représenter le nom d'une colonne de partitionnement participant à partition_function_name.

$PARTITION retourne une valeur de type int comprise entre 1 et le nombre de partitions de la fonction de partition.

$PARTITION retourne le numéro de partition pour toute valeur valide, sans vérifier l'existence de celle-ci dans une table ou un index partitionné utilisant la fonction de partition.

A. Obtention du numéro de partition pour un ensemble de valeurs de colonnes de partitionnement

L'exemple suivant crée une fonction de partition appelée RangePF1, chargée de partitionner une table ou un index en quatre partitions. $PARTITION permet de déterminer si la valeur 10, correspondant à la colonne de partitionnement de RangePF1, doit être placée dans la partition 1 de la table.

USE AdventureWorks ;
GO
CREATE PARTITION FUNCTION RangePF1 ( int )
AS RANGE FOR VALUES (10, 100, 1000) ;
GO
SELECT $PARTITION.RangePF1 (10) ;
GO

B. Récupération du nombre de lignes de chaque partition non vide dans une table ou un index partitionné

L'exemple suivant retourne le nombre de lignes de chaque partition issue de la table TransactionHistory contenant les données. La table TransactionHistory utilise la fonction de partition TransactionRangePF1 et est partitionnée sur la colonne TransactionDate.

ms188071.note(fr-fr,SQL.90).gifRemarque :
Pour lancer cet exemple, vous devez au préalable exécuter le script PartitionAW.sql sur l'exemple de base de données AdventureWorks. Pour plus d'informations, consultez Readme_PartitioningScript.

USE AdventureWorks ;
GO
SELECT $PARTITION.TransactionRangePF1(TransactionDate) AS Partition, 
COUNT(*) AS [COUNT] FROM Production.TransactionHistory 
GROUP BY $PARTITION.TransactionRangePF1(TransactionDate)
ORDER BY Partition ;
GO

C. Retour de toutes les lignes d'une partition donnée faisant partie d'une table ou d'un index partitionné

L'exemple suivant retourne toutes les lignes de la partition 5 issue de la table TransactionHistory.

ms188071.note(fr-fr,SQL.90).gifRemarque :
Pour lancer cet exemple, vous devez au préalable exécuter le script PartitionAW.sql sur l'exemple de base de données AdventureWorks. Pour plus d'informations, consultez Readme_PartitioningScript.

SELECT * FROM Production.TransactionHistory
WHERE $PARTITION.TransactionRangePF1(TransactionDate) = 5 ;
Cela vous a-t-il été utile ?
(1500 caractères restants)
Merci pour vos suggestions.

Ajouts de la communauté

AJOUTER
Microsoft réalise une enquête en ligne pour recueillir votre opinion sur le site Web de MSDN. Si vous choisissez d’y participer, cette enquête en ligne vous sera présentée lorsque vous quitterez le site Web de MSDN.

Si vous souhaitez y participer,
Afficher:
© 2014 Microsoft. Tous droits réservés.