Pouvant être mis à jour des vues SQL Server 2008
Une question à propos pouvant être mis à jour db vues: je suis en train de lire à travers certains documentation MSDN sur le sujet, et je tombe sur la restriction suivante:
Toute modification, y compris UPDATE, INSERT et DELETE, doit faire référence à des colonnes d'une seule table de base.
Je veux juste être sûr de comprendre la restriction. J'aimerais utiliser les vues dans un couple de ma revue de presse des projets. Les données relationnelle est répandu dans les tableaux, mais d'un point de vue semble être la meilleure façon d'être en mesure de consolider les données que j'ai besoin de plusieurs tables (dont certains sont liés par l'intermédiaire de clés étrangères) dans un emplacement centralisé. Depuis les colonnes proviennent d'une variété de tables, est-ce à dire que je ne peux pas exécuter une couverture d'INSERTION ou de mise à JOUR pour conserver les modifications dans toutes les colonnes?
OriginalL'auteur Major Productions | 2010-10-05
Vous devez vous connecter pour publier un commentaire.
Oui qu'est ce que cela signifie. Je ne vois pas l'avantage de la mise à jour via une vue depuis que vous avez à savoir ce que les tables de base impliqués sont de toute façon.
Aussi longtemps que la vue contient la clé des colonnes de la table sous-jacente, ou autrement permet à SQL Server pour identifier de manière unique une ligne dans la table, la mise à jour directe par l'intermédiaire d'un point de vue peut simplifier les choses maintenant - en particulier dans les situations où une vue est mappé à un formulaire ou un contrôle datagrid. Cela me préoccupait un peu au début, mais depuis que l'utilisateur doit avoir les droits pour mettre à jour la table de toute façon, il n'y a pas d'ajout de risque pour la sécurité.
Mais il ne fonctionnera pas si les champs sont mis à jour à partir de différentes tables sous-jacentes. C'est pourquoi il n'est pas utile de mettre à jour à partir d'un point de vue.
SQLRyan a spot. De nombreuses listes de contrôle sont créés dans le cadre de flux de travail pour adhoc projets qui ne sont jamais à utiliser de nouveau. Exposer un point de vue à partir de MS Access ou autre chose qui n'grille de montage de la boîte est le parfait 5 minutes de solution tant que vous n'oubliez pas de garder la plupart des colonnes non-modifiable. En réponse à HLGEM, la plupart de ces une case à cocher, flux de travail exercices nécessitent des informations contextuelles à partir de plusieurs tables, mais les mises à jour à un seul.
dans le cas où vous avez manqué cette partie, l'OP voulait être anble de mettre à jour toutes les colonnes dans une mise à jour qui n'est pas possible avec une vue à partir de plusieurs tables.
OriginalL'auteur HLGEM
Vous pouvez utiliser un déclencheur INSTEAD OF sur une vue de garder votre demande ne traite que de l'afficher à la place de la collection de tables de base de la vue références.
Voici un exemple : De la conception au LIEU DE Déclencheurs
OriginalL'auteur Dennis Allen