Bonjour,
J'ai une question sur les script SQL sur une base SQL server 2005.
J'ai une base de données avec pleins de tables liées entre elle dans tous
les sens. Je suis en train de faire un mega script pour modifier des données
(suppression, ajout, modif) . Bien sur, il faut que j'ai ajouté des données
dans des tables pour en ajouter d'autre dans d'autres table.Je serai même
obligé de casser des clefs et d'en refaire d'autres.
N'étant pas completement certain de ce que j'écris, J'aimerai le vérifier.
Ainsi, j'aimerai savoir s'il est possible de lancer mon script et de faire
un "Rollback" général (que tout fonctionne ou que ca plante)?
Si oui, que dois-je ajouter à mon script pour faire cela
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Rudi Bruchez
Bonjour,
pierre a écrit:
dans des tables pour en ajouter d'autre dans d'autres table.Je serai même obligé de casser des clefs et d'en refaire d'autres.
N'étant pas completement certain de ce que j'écris, J'aimerai le vérifier. Ainsi, j'aimerai savoir s'il est possible de lancer mon script et de faire un "Rollback" général (que tout fonctionne ou que ca plante)? Si oui, que dois-je ajouter à mon script pour faire cela
Tu ne devrais jamais avoir à supprimer des contraintes et les recréer ensuite. A quoi servent les contraintes si on fait ça ? Il faut insérer les données dans l'ordre.
Tu peux bien sûr tout encapsuler dans un transaction : BEGIN TRANSACTION au début. Ensuite : ROLLBACK TRANSACTION pour faire un rollback. Tu peux utiliser un block TRY CATCH (je suppose que tu es en SQL Server 2005) Tu peux imbriquer les transactions, mais le ROLLBACK s'effectuera toujours sur la transaction la plus externe.
dans des tables pour en ajouter d'autre dans d'autres table.Je serai même
obligé de casser des clefs et d'en refaire d'autres.
N'étant pas completement certain de ce que j'écris, J'aimerai le vérifier.
Ainsi, j'aimerai savoir s'il est possible de lancer mon script et de faire
un "Rollback" général (que tout fonctionne ou que ca plante)?
Si oui, que dois-je ajouter à mon script pour faire cela
Tu ne devrais jamais avoir à supprimer des contraintes et les recréer
ensuite. A quoi servent les contraintes si on fait ça ? Il faut insérer
les données dans l'ordre.
Tu peux bien sûr tout encapsuler dans un transaction : BEGIN TRANSACTION
au début. Ensuite : ROLLBACK TRANSACTION pour faire un rollback.
Tu peux utiliser un block TRY CATCH (je suppose que tu es en SQL Server
2005)
Tu peux imbriquer les transactions, mais le ROLLBACK s'effectuera
toujours sur la transaction la plus externe.
dans des tables pour en ajouter d'autre dans d'autres table.Je serai même obligé de casser des clefs et d'en refaire d'autres.
N'étant pas completement certain de ce que j'écris, J'aimerai le vérifier. Ainsi, j'aimerai savoir s'il est possible de lancer mon script et de faire un "Rollback" général (que tout fonctionne ou que ca plante)? Si oui, que dois-je ajouter à mon script pour faire cela
Tu ne devrais jamais avoir à supprimer des contraintes et les recréer ensuite. A quoi servent les contraintes si on fait ça ? Il faut insérer les données dans l'ordre.
Tu peux bien sûr tout encapsuler dans un transaction : BEGIN TRANSACTION au début. Ensuite : ROLLBACK TRANSACTION pour faire un rollback. Tu peux utiliser un block TRY CATCH (je suppose que tu es en SQL Server 2005) Tu peux imbriquer les transactions, mais le ROLLBACK s'effectuera toujours sur la transaction la plus externe.
D'accord, j'ai plus de billes. Merci. Je vais regarder BEGIN/ROLLBACK TRANSACTION pour la syntaxe. +a Pierre
"Rudi Bruchez" a écrit :
Bonjour,
pierre a écrit: > dans des tables pour en ajouter d'autre dans d'autres table.Je serai même > obligé de casser des clefs et d'en refaire d'autres. > > N'étant pas completement certain de ce que j'écris, J'aimerai le vérifier. > Ainsi, j'aimerai savoir s'il est possible de lancer mon script et de faire > un "Rollback" général (que tout fonctionne ou que ca plante)? > Si oui, que dois-je ajouter à mon script pour faire cela
Tu ne devrais jamais avoir à supprimer des contraintes et les recréer ensuite. A quoi servent les contraintes si on fait ça ? Il faut insérer les données dans l'ordre.
Tu peux bien sûr tout encapsuler dans un transaction : BEGIN TRANSACTION au début. Ensuite : ROLLBACK TRANSACTION pour faire un rollback. Tu peux utiliser un block TRY CATCH (je suppose que tu es en SQL Server 2005) Tu peux imbriquer les transactions, mais le ROLLBACK s'effectuera toujours sur la transaction la plus externe.
D'accord, j'ai plus de billes.
Merci.
Je vais regarder BEGIN/ROLLBACK TRANSACTION pour la syntaxe.
+a
Pierre
"Rudi Bruchez" a écrit :
Bonjour,
pierre a écrit:
> dans des tables pour en ajouter d'autre dans d'autres table.Je serai même
> obligé de casser des clefs et d'en refaire d'autres.
>
> N'étant pas completement certain de ce que j'écris, J'aimerai le vérifier.
> Ainsi, j'aimerai savoir s'il est possible de lancer mon script et de faire
> un "Rollback" général (que tout fonctionne ou que ca plante)?
> Si oui, que dois-je ajouter à mon script pour faire cela
Tu ne devrais jamais avoir à supprimer des contraintes et les recréer
ensuite. A quoi servent les contraintes si on fait ça ? Il faut insérer
les données dans l'ordre.
Tu peux bien sûr tout encapsuler dans un transaction : BEGIN TRANSACTION
au début. Ensuite : ROLLBACK TRANSACTION pour faire un rollback.
Tu peux utiliser un block TRY CATCH (je suppose que tu es en SQL Server
2005)
Tu peux imbriquer les transactions, mais le ROLLBACK s'effectuera
toujours sur la transaction la plus externe.
D'accord, j'ai plus de billes. Merci. Je vais regarder BEGIN/ROLLBACK TRANSACTION pour la syntaxe. +a Pierre
"Rudi Bruchez" a écrit :
Bonjour,
pierre a écrit: > dans des tables pour en ajouter d'autre dans d'autres table.Je serai même > obligé de casser des clefs et d'en refaire d'autres. > > N'étant pas completement certain de ce que j'écris, J'aimerai le vérifier. > Ainsi, j'aimerai savoir s'il est possible de lancer mon script et de faire > un "Rollback" général (que tout fonctionne ou que ca plante)? > Si oui, que dois-je ajouter à mon script pour faire cela
Tu ne devrais jamais avoir à supprimer des contraintes et les recréer ensuite. A quoi servent les contraintes si on fait ça ? Il faut insérer les données dans l'ordre.
Tu peux bien sûr tout encapsuler dans un transaction : BEGIN TRANSACTION au début. Ensuite : ROLLBACK TRANSACTION pour faire un rollback. Tu peux utiliser un block TRY CATCH (je suppose que tu es en SQL Server 2005) Tu peux imbriquer les transactions, mais le ROLLBACK s'effectuera toujours sur la transaction la plus externe.