Actuellement Dans notre conception de base de données, nous avons une référence circulaire entre deux entités. En d'autres termes, nous avons des clés étrangères dans chaque table qui référencent la clé primaire de l'autre. Pour insérer des enregistrements dans ces tables, nous devons effectuer une vérification de contrainte différée. Est-ce possible dans SQL Server 2008? Je sais que Oracle DDL a une syntaxe spéciale pour cela.vérification de contrainte différée
6
A
Répondre
7
Il n'existe aucune méthode native pour effectuer une vérification de contrainte différée dans SQL Server. La meilleure option consiste probablement à insérer une valeur NULL dans la colonne de clé étrangère dans la première table jusqu'à ce que le deuxième enregistrement soit inséré, puis dans le cadre de la même transaction, mettre à jour la colonne de clé étrangère dans la première table.
Je suis intéressé - quelle est la raison commerciale de votre référence circulaire? C'est définitivement une exigence extraordinaire.
Jetez également un oeil à this thread, sur le même sujet.
Questions connexes
- 1. contrainte de vérification sur la table recherche
- 2. Vérification de la contrainte sur la table
- 3. postgres: vérification de la contrainte et les valeurs nulles
- 4. Exécution différée en C#
- 5. Colonne de recherche avec écriture différée
- 6. Erreur lors de la copie d'une contrainte de vérification à l'aide de DTS
- 7. Puis-je supprimer l'option "not for replication" d'une contrainte de vérification existante dans T-SQL?
- 8. Comment créer une contrainte de vérification entre deux colonnes dans SQL?
- 9. Comment inhiber le message "Échec de l'écriture différée"?
- 10. Modifications de la contrainte Postgresql
- 11. Comment profiler une application lorsque l'exécution différée le rend difficile?
- 12. Contrainte - unique ou vide
- 13. contrainte unique conditionnelle
- 14. contrainte altérant supprimer l'action
- 15. Contrainte minuscule - SQL Server
- 16. Contrainte unique dans MySQL
- 17. sql contrainte unique
- 18. Comment interroger la liste cible de n'importe quelle contrainte sans connaître le type de contrainte?
- 19. Comment définir une vérification sur SQL Server?
- 20. CoreData: Vérification de Null
- 21. unix vérification de l'état!
- 22. vérification de texte vide
- 23. lambda pour une fonction de contrainte
- 24. LINQ avec contrainte de prédicat générique
- 25. contrainte de type dans une Union
- 26. Test de contrainte dans Visual Studio
- 27. Problème avec la contrainte de clé étrangère
- 28. contrainte de clé étrangère dans sql
- 29. plan d'exécution bizarrerie après réactivant contrainte de clé étrangère
- 30. Vérification de l'état du processus
@Aaron. Nous avons une référence récursive entre les synonimes du même produit. –
@Igor: Alors probablement ce que vous voulez est de stocker le nom du produit dans une table séparée, avec une relation un-à-plusieurs entre les informations sur le produit et les noms de produits. La vérification des consignes différées serait très utile dans les cas où vous voulez échanger ou réorganiser une clé unique, par exemple (comme une colonne * "Ordering" *) –