Je veux écrire une requête unique pour stocker les mêmes valeurs dans différents tableaux ex: je suis ayant aa et bb tables.avec un attribut non, adresse, phoneno, ville. dans ce non et la ville sont identiques et restants sont différents. dans les deux tableaux certains attributs sont uniques et certains sont différents et je veux mettre à jour les 2 tables en utilisant une requête dans le serveur sql.requête unique pour stocker des valeurs dans différentes tables
Répondre
Vous devrez obtenir un peu plus avancé qu'une simple requête pour y parvenir. Mon conseil serait que vous devriez normaliser votre conception pour mettre le nombre et la ville dans une table séparée et puis simplement créer un lien vers cette table dans les deux autres tables.
En général, vous ne devez pas dupliquer des informations dans plusieurs tables. Cependant, il y a des exceptions à cela.
Cependant, vous ne l'avez pas demander des conseils afin que vous pourriez avoir des raisons de le faire de la façon dont vous avez demandé. Si c'est toujours le chemin que vous voulez suivre, vos options sont dictées par la saveur de SQL que vous utilisez. Sur de nombreuses plateformes SQL, vous pouvez accomplir ceci avec une procédure stockée. Sur certains, vous pouvez utiliser une vue, un déclencheur et une procédure stockée. Je vais vous donner un synopsis rapide de chaque option.
- Procédure stockée Ecrire une ou plusieurs procédures stockées (peut-être un pour insérer, mettre à jour, supprimer) Ces procédures prennent vos valeurs en tant que paramètres. Les procs exécutent alors les requêtes sur chacune des tables les unes après les autres.
- Procédure stockée + Voir + Trigger (Vous pouvez le faire sur le serveur MS SQL, mais je ne suis pas sûr d'autres.) Ici vous créez une vue unique qui fusionne vos deux tables. (se joindre à vos champs communs.) Cela vous donne une vue qui est essentiellement les deux tables jointes. Maintenant, puisque cette vue est basée sur deux tables, elle devient une vue non mise à jour. Cependant, vous pouvez attacher des procédures stockées à la vue pour les opérations d'insertion, de mise à jour et de suppression. Ici vous faites la même chose que dans la première méthode, vous créez plusieurs procs pour réellement mettre à jour les données dans les deux tables sous la vue. Ces procédures sont un peu différentes car elles doivent être conçues pour fonctionner comme déclencheurs. Vous attachez ensuite ces procédures à l'insertion, à la mise à jour ou à la suppression des déclencheurs de la vue. En fin de compte, vous devriez pouvoir directement insérer, mettre à jour ou supprimer des données sur la vue et voir les changements dans les tables sous-jacentes.
Si tout cela semble vraiment compliqué, c'est parce que c'est. Si vous avez une autre option comme la normalisation de votre structure de données pour résoudre le problème, vous devriez d'abord essayer. Si vous n'avez vraiment pas le choix et que les déclencheurs sont disponibles, les 2ème options fonctionnent très bien.
- 1. Requête unique pour mettre à jour des enregistrements avec des valeurs de colonne basées sur des valeurs différentes dans Oracle
- 2. SQL obtenir des valeurs de différentes tables
- 3. Supprimer Entrys dans différentes tables Requête MysQL
- 4. Comment puis-je prendre différentes valeurs de différentes tables et les stocker dans une autre table?
- 5. MySQL Requête pour 4 tables différentes
- 6. requête à partir des tables différentes
- 7. Requête SQL - aliasing + différentes périodes + différentes tables
- 8. comment écrire des critères hibernate requête pour deux tables différentes
- 9. Comment structurer une base de données pour stocker différentes valeurs
- 10. Requête SQL pour trouver des valeurs distinctes dans deux tables?
- 11. Requête SQL pour additionner des champs de différentes tables
- 12. php Memcache pour stocker les clés répétées pour différentes valeurs
- 13. requête SQL pour table unique, comparer les valeurs des colonnes
- 14. Comment copier les valeurs des colonnes de différentes tables (SQL)
- 15. Table unique pour toutes les valeurs ou tables séparées pour chaque valeur?
- 16. Sélection de plusieurs valeurs différentes tables
- 17. Comment stocker et interroger des données différentes
- 18. Comparer des valeurs pour donner différentes sorties
- 19. MySQL récupère 2 valeurs de différentes tables
- 20. Multiplier les valeurs de 2 tables différentes
- 21. Requête multi mysql utilisant deux tables différentes
- 22. Comment utiliser la boucle for dans ruby pour saisir des valeurs différentes des tables de hachage
- 23. Insérer des valeurs dans plusieurs tables SQL
- 24. Requête SQL pour trouver certains des trois champs de trois tables différentes
- 25. Vérification de l'existence de deux colonnes dans des tables différentes dans une transaction SQL unique
- 26. SQL: différentes valeurs agrégées pour différentes conditions
- 27. Rejoindre 2 tables dans un résultat de requête unique
- 28. requête MYSQL de différentes tables même ID
- 29. récupération des valeurs de 2 tables différentes avec QuerySet
- 30. Requête SQL, obtention des résultats de 2 tables différentes
Vous ne pouvez pas mettre à jour deux tables en utilisant une instruction UPDATE. Mais vous pouvez créer une procédure stockée qui fait cela - effectue deux mises à jour séparées qui est. –
pouvez-vous me donner la syntaxe de procédure – Ddev
'CREATE PROCEDURE' http://msdn.microsoft.com/fr-fr/library/ms187926.aspx –