|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Membre Expert
![]() Inscription : octobre 2007 Messages : 3 947 ![]() |
Bonjour
Existe-il un mecanisme permettant lors d'un Update de detecter si des champs sont reellement affectés (modifies) ? Merci de votre aide
__________________
« Ils ne savaient pas que c'était impossible, alors ils l'ont fait ». (Twain) |
|
|
00
|
|
|
#2 | ||
![]() ![]() ![]() Nicolas SouquetAdministrateur de base de données Inscription : janvier 2005 Messages : 4 669 ![]() |
Bonjour,
Le seul moyen est de comparer les tables virtuelles inserted et deleted : Code :
Si c'est pour un audit de changement de données sur beaucoup de tables et que vous êtes sous SQL Server 2008, je vous conseille vivement d'utiliser une des fonctionnalités suivantes selon vos besoins : - Change Data Capture - Change Tracking - Database Audit Qui sont bien plus légères et performantes qu'un trigger. @++
__________________
En bases de données relationnelles SQL, il n'y a ni tableaux, ni enregistrements, ni champs: il y a des tables, des lignes et des colonnes. Blog | Profil| Consulter ou télécharger les fichiers d'aide de SQL Server, des versions 2000 à 2012 |
||
|
00
|
|
|
#3 |
![]() ![]() ![]() Frédéric BROUARDExpert SGBDR & SQL Inscription : mai 2002 Messages : 10 954 ![]() |
Dans un trigger, oui et non :
1) fonction UPDATE(MaColonne) => True/false 2) fonction COLUMNS_UPDATED(masque_binaire1) & / | masque_binaire2 Mais si je fais : alors UPDATE(C) => true ! A +
__________________
Frédéric Brouard - SQLpro - ARCHITECTE DE DONNÉES - expert SGBDR et langage SQL Site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/ Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp. Blog SQL, SQL Server, modélisation données : http://blog.developpez.com/sqlpro http://www.sqlspot.com : modélisation, conseils, audit, optimisation, formation * * * * * Enseignant CNAM PACA - ISEN Toulon - CESI Aix en Provence * * * * * |
|
00
|
|
|
#4 |
|
Membre Expert
![]() Inscription : octobre 2007 Messages : 3 947 ![]() |
Merci a vous
Comme je travaille en C# avec des classes dédiées aux acces DB j'ai finalement choisi de tester les modifications au niveau des accesseurs de ces classes;
__________________
« Ils ne savaient pas que c'était impossible, alors ils l'ont fait ». (Twain) |
|
|
00
|
|
|
#5 | |
![]() ![]() ![]() Nicolas SouquetAdministrateur de base de données Inscription : janvier 2005 Messages : 4 669 ![]() |
Citation:
@++
__________________
En bases de données relationnelles SQL, il n'y a ni tableaux, ni enregistrements, ni champs: il y a des tables, des lignes et des colonnes. Blog | Profil| Consulter ou télécharger les fichiers d'aide de SQL Server, des versions 2000 à 2012 |
|
|
00
|
|
|
#6 | |
|
Membre Expert
![]() |
Citation:
Que se passera t'il si entre le moment ou vous avez chargé votre objet et le moment ou vous le modifiez un autre utilisateur à modifié les données? Utilisez vous un ORM? car LTS et LTE le font via le datacontext et le tracking d'objet...
__________________
Prendre conscience, c'est transformer le voile qui recouvre la lumière en miroir. |
|
|
|
00
|
|
|
#7 | |
|
Membre Expert
![]() Inscription : octobre 2007 Messages : 3 947 ![]() |
Citation:
On peut concevoir un controle de modification par l'utilisateur et nécessitant le cas échéant une mise a jour (c'est ce que je fais) Le contrôle de colision avec un autre utilisateur peut se faire a un autre niveau
__________________
« Ils ne savaient pas que c'était impossible, alors ils l'ont fait ». (Twain) |
|
|
|
00
|
|
|
#8 |
|
Membre Expert
![]() |
ok...
__________________
Prendre conscience, c'est transformer le voile qui recouvre la lumière en miroir. |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com