J'ai un certain nombre de tables qui utilisent la colonne trigger/sequence pour simuler auto_increment sur leurs clés primaires, ce qui a fonctionné très bien pendant un certain temps. Afin d'accélérer le temps nécessaire pour effectuer des tests de régression sur un logiciel qui utilise la base de données, je crée des fichiers de contrôle en utilisant quelques exemples de données, et je les ajoute au processus de construction. Cette modification entraîne la panne de la plupart des tests, car le processus de test installe le schéma à partir de zéro et les séquences renvoient des valeurs qui existent déjà dans les tables. Existe-t-il un moyen de dire par programme "Mise à jour des séquences à la valeur max dans la colonne" ou ai-je besoin d'écrire un script entier pour mettre à jour toutes ces séquences, ou puis-je changer le déclencheur séquence à certains comment vérifier cela (bien que je pense que cela pourrait causer le problème de la table de mutation)?Insertion manuelle de données dans une ou plusieurs tables avec une clé primaire remplie de séquence
Insertion manuelle de données dans une ou plusieurs tables avec une clé primaire remplie de séquence
Répondre
Vous pouvez générer un script pour créer les séquences avec les valeurs de départ dont vous avez besoin (en fonction de leurs valeurs existantes) ....
SELECT « CREATE SEQUENCE '|| sequence_name ||' COMMENCER PAR '|| last_number ||'; ' DE ALL_SEQUENCES OU PROPRIÉTAIRE = your_schema
(Si je comprends bien la question)
Dans le cadre de la reconstruction de votre schéma, pourquoi ne pas supprimer et recréer la séquence?
La reconstruction de schéma supprime tous les objets de base de données, y compris les séquences. Le problème est que lorsqu'ils sont recréés, ils ont tous une valeur de départ par défaut de zéro et il y a déjà des enregistrements dans les tables avec les identifiants de 0 à X à partir des exemples de données qui sont chargés avec sqlldr. –
Voici un moyen simple de mettre à jour une valeur de séquence - dans ce cas, le réglage de la séquence à 1000 si elle est actuellement 50:
Félicitations aux créateurs de PL/SQL Developer pour avoir inclus cette technique dans leur outil.
- 1. Insertion SQL avec des données provenant de plusieurs tables
- 2. Insertion d'une clé primaire à incrémentation automatique dans une autre table (pour la joindre plus tard)
- 3. TurboGears2/SQLAlchemy: Insertion d'une nouvelle ligne dans une table avec un auto-incrément Clé primaire
- 4. Beaucoup-plusieurs sans clé primaire
- 5. SqlServer créer une table avec MySQL comme auto_increment clé primaire
- 6. Obtenir clé primaire après une insertion dans asp.net (de base visuelle)
- 7. Plusieurs-à-plusieurs avec "primaire"
- 8. Insérer des données dans plusieurs tables
- 9. Récupérer des données à partir de tables où l'on a plusieurs colonnes pointant vers la même clé primaire dans l'autre?
- 10. SubSonic Clé primaire de colonne multiple
- 11. Clé primaire auto-incrémentée en partage entre deux tables
- 12. Demander un avis: Une séquence pour toutes les tables
- 13. Comment puis-je faire une clé primaire
- 14. mySQL insertion de plusieurs enregistrements avec une sélection
- 15. Question SQL rapide: Syntaxe correcte pour créer une table avec une clé primaire dans H2?
- 16. Clé primaire native ou générée automatiquement?
- 17. Comment générer une séquence de tables de multiplication?
- 18. Relation plusieurs-à-plusieurs avec une clé de substitution dans Entity Framework
- 19. LINQ to SQL: Insérer une clé primaire sans identité
- 20. Insertion de lignes dans une table avec une identité prédéfinie
- 21. Linq2Sql: Puis-je créer des entités avec des relations de clé étrangère sans clé primaire dans les deux tables?
- 22. Modifier chaque enregistrement dans une table sans clé primaire?
- 23. SQLite: Impossible de supprimer une clé primaire sans nom
- 24. Utilisation d'un indicateur bitwise pour une clé primaire?
- 25. Fluid nHibernate: Comment mapper 2 tables sans clé primaire
- 26. mettre à jour la clé primaire des tables maître et enfant pour les grandes tables
- 27. Ignorer les conflits de clé primaire avec la copie SQL
- 28. Ajout d'une clé primaire à une grande table sur un serveur de base de données partagé
- 29. Avec Eclipselink/JPA, puis-je avoir une clé composite étrangère qui partage un champ avec une clé composite primaire?
- 30. comment créer une clé primaire composite (annotation de persistance java)
J'ai un script qui enregistre les données dans des fichiers de contrôle. J'ai étendu ce processus pour également déposer et créer des instructions dans un script séparé que je cours après avoir importé toutes les données des fichiers de contrôle. –