Précédent   Forum des professionnels en informatique > Bases de données > MS SQL-Server > Développement
Développement Forum d'entraide sur le Transact-SQL, le CLR, les procédures stockées, les triggers, les requêtes SQL
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 01/04/2011, 18h24   #1
Nouveau Membre du Club
 
Pascal
Inscription : mars 2006
Messages : 91
Détails du profil
Informations personnelles :
Nom : Pascal
Localisation : Canada

Informations forums :
Inscription : mars 2006
Messages : 91
Points : 32
Points : 32
Par défaut Remplacement d'une table par une vue

Bonjour,

Je dois implémenter graduellement une nouvelle application .NET tout en gardant fonctionnelle l'ancienne version ACCESS. Cela implique l'utilisation de nouvelles tables SQL.

Je veux que la version ACCESS lise et écrive dans les nouvelles tables sans changer le code de celle-ci et si possible sans utiliser des TRIGGERS dans les tables SQL. Donc, mon idée est de remplacer l'ancienne table par une vue de la(les) nouvelle(s) table(s).

Pour les SELECT, ça va fonctionner mais comment faire pour les UPDATE?

*Aucun Insert ou Delete sera fait à partir de l'ancienne application.


Merci de vos idées!
Passepoil est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/04/2011, 18h36   #2
Nouveau Membre du Club
 
Pascal
Inscription : mars 2006
Messages : 91
Détails du profil
Informations personnelles :
Nom : Pascal
Localisation : Canada

Informations forums :
Inscription : mars 2006
Messages : 91
Points : 32
Points : 32
Bon, j'ai finalement tombé sur quelque chose... il suffit d'avoir les bonnes clés de recherche

On peut updater une vue... mais je crois que c'est seulement dans le cas où tous les champs de la vue viennent de la même table.

C'est impossible lorsqu'il y a des JOINs dans la requête de la vue??
Passepoil est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/04/2011, 18h50   #3
Nouveau Membre du Club
 
Pascal
Inscription : mars 2006
Messages : 91
Détails du profil
Informations personnelles :
Nom : Pascal
Localisation : Canada

Informations forums :
Inscription : mars 2006
Messages : 91
Points : 32
Points : 32
On est jamais aussi bien servi que par soi-même.

J'ai fait le test et l'UPDATE fonctionne très bien même avec un INNER JOIN dans la requête de la vue.
Passepoil est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/04/2011, 21h07   #4
Nouveau Membre du Club
 
Pascal
Inscription : mars 2006
Messages : 91
Détails du profil
Informations personnelles :
Nom : Pascal
Localisation : Canada

Informations forums :
Inscription : mars 2006
Messages : 91
Points : 32
Points : 32
Et bien, il paraît qu'on n'est pas fou lorsqu'on parle tout seul mais quand on se répond c'est autre chose...

Ça ne marche pas mes affaires!

J'ai des 'Relationships' dans ma table qui m'empêche d'effacer la table. À moins que quelqu'un ait une idée de génie, je devrai me tourner vers les TRIGGERS.

Leçon à tirer : bien structurer les futurs projets et séparer les couches (métier, donnée..)... WPF et MVVM, j'arrive!
Passepoil est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/04/2011, 08h25   #5
Membre Expert
 
Avatar de iberserk
 
Homme Bruno IGNACE
Architecte de base de données
Inscription : novembre 2004
Messages : 1 299
Détails du profil
Informations personnelles :
Nom : Homme Bruno IGNACE
Âge : 30
Localisation : France, Gironde (Aquitaine)

Informations professionnelles :
Activité : Architecte de base de données
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : novembre 2004
Messages : 1 299
Points : 2 282
Points : 2 282
Envoyer un message via MSN à iberserk
Citation:
Bonjour,

Je dois implémenter graduellement une nouvelle application .NET tout en gardant fonctionnelle l'ancienne version ACCESS. Cela implique l'utilisation de nouvelles tables SQL.

Je veux que la version ACCESS lise et écrive dans les nouvelles tables sans changer le code de celle-ci et si possible sans utiliser des TRIGGERS dans les tables SQL. Donc, mon idée est de remplacer l'ancienne table par une vue de la(les) nouvelle(s) table(s).

Pour les SELECT, ça va fonctionner mais comment faire pour les UPDATE?

*Aucun Insert ou Delete sera fait à partir de l'ancienne application.
Si votre vue est triviale, l'update:insert fonctionnera avec les commandes habituelles.
Mais si votre vue est complexe ce ne sera pas possible et vous devez alors passer par des... TRIGGERS INSTEAD OF :-)
__________________
Prendre conscience, c'est transformer le voile qui recouvre la lumière en miroir.
iberserk est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/04/2011, 15h19   #6
Nouveau Membre du Club
 
Pascal
Inscription : mars 2006
Messages : 91
Détails du profil
Informations personnelles :
Nom : Pascal
Localisation : Canada

Informations forums :
Inscription : mars 2006
Messages : 91
Points : 32
Points : 32
Très intéressant ce 'TRIGGERS INSTEAD OF', je ne connaissais pas.


Merci.
Passepoil est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 01h24.


 
 
 
 
Partenaires

Hébergement Web