|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||
|
Membre actif
![]() Inscription : septembre 2007 Messages : 630 ![]() |
Bonjour,
Est-il possible de 'simuler' un UPDATE ? Exemple : je fais un Code :
Merci pour vos infos Thib |
||
|
|
00
|
|
|
#2 | ||
![]() ![]() ![]() Frédéric BROUARDExpert SGBDR & SQL Inscription : mai 2002 Messages : 10 950 ![]() |
Il suffit de gérer une transaction en faisant un ROLLBACK...
Code :
__________________
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
|
|
|
#3 |
|
Membre actif
![]() Inscription : septembre 2007 Messages : 630 ![]() |
Merci j'ai essayé mais je ne comprends pas comment je peux 'constater' si mon update est correct.
Le rollback m'annule mon update du coup, après si je fais un select pour voir mes enregistrements...je ne vois aucun changement ? |
|
|
00
|
|
|
#4 | ||
![]() ![]() ![]() Nicolas SouquetAdministrateur de base de données Inscription : janvier 2005 Messages : 4 665 ![]() |
Bonjour,
Vous pouvez pour cela utiliser la clause OUTPUT : Code :
Elles reflètent respectivement les nouvelles et anciennes valeurs prises par les colonnes de lignes candidates à l'UPDATE. Vous ne pouvez pas l'utiliser si un trigger est en place sur la table qui subit l'UPDATE, puisqu'on peut utiliser ces tables virtuelles également dans 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
|
|
|
#5 | |
|
Membre actif
![]() Inscription : septembre 2007 Messages : 630 ![]() |
Merci
Mais cette fois, j'obtiens une erreur Citation:
Je vais essayer de chercher sur le Net des infos sur la clause INTO pour voir si je peux y arriver.... |
|
|
|
00
|
|
|
#6 |
|
Membre du Club
![]() Stef Consultant Essbase Inscription : juin 2002 Messages : 40 ![]() |
test en re7
|
|
00
|
|
|
#7 |
|
Membre actif
![]() Inscription : septembre 2007 Messages : 630 ![]() |
Merci pour ta réponse. Mais je ne la comprends pas : je suppose que tu me dis "test en recette" ? Mais je ne comprends pas de quoi tu parles.
En attendant, j'ai cherché la clause INTO sur le forum avec le OUTPUT. J'ai trouvé des exemples et je m'y suis adapté. Cela fonctionne effectivement en mettant un INTO @MatableTempo Je laisse ouvert le post pendant qq heures au cas où tu me réponds sur le test en re7... Merci à tous pour votre aide Thib |
|
|
00
|
|
|
#8 |
|
Membre du Club
![]() Stef Consultant Essbase Inscription : juin 2002 Messages : 40 ![]() |
test en re7 = si tu as un environnement iso-prod en recette, alors tu pourras faire des tests sur ta table en recette pour voir ce que cela donne, avant de passer en prod
|
|
00
|
|
|
#9 |
|
Membre actif
![]() Inscription : septembre 2007 Messages : 630 ![]() |
Merci pour l'explication.
Je suis un peu ds ce cas, car j'ai un SQL 2008 installé sur mon portable. Et lorsque j'ai un doute, je mets une copie de la base sur mon portable et c'est souvent d'abord sur lui que je fais mes essais. De toute façon, j'évite de prendre des risques avec SQL Serveur : je fais toujours une sauvegarde avant de lancer des opérations qui peuvent avoir une conséquence. Merci |
|
|
00
|
|
|
#10 | ||
![]() ![]() |
Comme vous l'a expliqué SQLPro, il suffit de faire une transaction annulée, mais de faire un SELECT avant le rollback :
Code :
__________________
Email : http://scr.im/waldar |
||
|
00
|
Copyright © 2000-2012 - www.developpez.com