Avons-nous besoin d'exécuter l'instruction Commit après la mise à jour dans SQL Server?
J'ai fait une mise à jour de mon dossier à l'aide de SQL Server Manager.
Comme instruction de mise à Jour est de ne pas avoir explicite de s'engager, je suis en train d'écrire manuellement.
Update mytable
set status=0;
Commit;
Je reçois comme message de Commit n'a pas de début de transaction
source d'informationauteur Patan
Vous devez vous connecter pour publier un commentaire.
SQL Server Management Studio a commit implicite activée, toutes les instructions qui sont exécutées sont implicitement engagé.
Cela peut être une chose effrayante si vous venez d'un Oracle contexte où la valeur par défaut est de ne pas avoir les commandes engage automatiquement, mais ce n'est pas beaucoup d'un problème.
Si vous voulez continuer à utiliser ad-hoc des transactions, vous pouvez toujours exécuter
dans SSMS, et que le système attend que vous pour valider les données.
Si vous voulez reproduire l'Oracle de comportement, et de démarrer une transaction implicite, chaque fois que certains DML/DDL est émis, vous pouvez définir l'ENSEMBLE IMPLICIT_TRANSACTIONS case à cocher dans
Sql server contrairement à oracle n'a pas besoin de s'engage, sauf si vous utilisez des transactions.
Immédiatement après votre instruction de mise à jour de la table de sera engagé, n'utilisez pas la commande commit dans ce scénario.