Dans la documentation de CREATE SEQUENCE
Pour T-SQL , vous pouvez voir que la commande CREATE SEQUENCE
N'a pas de paramètre ORDER
.
À titre de comparaison, les documents Oracle pour CREATE SEQUENCE
affichent les options ORDER
/NOORDER
:
ORDER
Spécifiez
ORDER
pour garantir que les numéros de séquence sont générés dans l'ordre de la demande. Cette clause est utile si vous utilisez les numéros de séquence comme horodatages. La garantie de l'ordre n'est généralement pas importante pour les séquences utilisées pour générer des clés primaires.
ORDER
n'est nécessaire que pour garantir la génération ordonnée si vous utilisez Oracle Database avec Real Application Clusters. Si vous utilisez le mode exclusif, les numéros de séquence sont toujours générés dans l'ordre.
NOORDER
Spécifiez
NOORDER
si vous ne souhaitez pas garantir que les numéros de séquence sont générés dans l'ordre de la demande. C'est la valeur par défaut.
Microsoft SQL Server fournit-il une forte contrainte de classement pour SEQUENCE
s? Ou Microsoft ne le considère-t-il pas important en général?
Dans SQL Server, tous les numéros de séquence sont générés sur une seule instance, ils sont donc déjà intrinsèquement ordonnés. Et si vous les utilisez simplement comme des numéros uniques, cela ne devrait pas vraiment avoir d'importance de toute façon.
L'implémentation Oracle est différente car dans un environnement RAC (pas toutes les implémentations Oracle), deux numéros de séquence peuvent être générés par deux "instances" différentes (ce n'est pas le bon terme pour Oracle, mais juste l'équivalence de dessin dans SQL Server). Normalement, vous ne vous soucieriez pas si celle demandée en premier était plus lente et obtenait un nombre plus élevé que celui demandé plus tard - à moins que, comme le disent les documents Oracle, vous utilisiez les séquences comme horodatages pour refléter vraiment l'ordre de la demande d'origine.