Dans la documentation de CREATE SEQUENCE
pour T-SQL , vous pouvez voir que la CREATE SEQUENCE
commande n'a pas de ORDER
paramètre.
À titre de comparaison, les documents Oracle pourCREATE SEQUENCE
afficher 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
Indiquez
NOORDER
si vous ne souhaitez pas garantir que les numéros de séquence sont générés par ordre de 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?
la source
CREATE SEQUENCE
instructions, je suis tombé sur le paramètre ORDER, et je voulais juste être sûr que ce ne serait pas un problème (je ne sais pas exactement pourquoi l'aORDER
été ajouté en premier lieu alors j'ai pensé que je pourrait demander au cas où).Réponses:
Dans SQL Server, tous les numéros de séquence sont générés sur une seule instance, ils sont donc 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, cela ne vous dérangerait 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.
la source