La différence entre la FIN de la transaction et de la transaction de validation
Je suis en train de simuler une base de données de récupération de sous-système à l'aide de java. Cependant, j'ai les questions suivantes.
Chaque fois que de commencer l'opération est émis, il est toujours nécessaire qu'il y ait une transaction de fin? (Comme l'exemple ci-dessous)
b1 --- Begin txn 1
r1(X) --- Read item X using txn 1
e1 --- End txn 1
Comme par l'exemple ci-dessus, je ne suis pas la délivrance d'un Commit transaction. Donc, mon opération de réussir ou d'échouer? Si l'exemple ci-dessus, est comme ci-dessous,
b1 --- Begin txn 1
r1(X) --- Read item X using txn 1
c1 --- commit txn 1
quelle est la différence entre la fin et de s'engager?
S'il vous plaît laissez-moi savoir si vous avez besoin de plus d'informations.
Serveur SQL (T-SQL) n'a pas de commande
Tags appartiennent à la zone mots-clés, ne pas remettre en question les titres.
END TRANSACTION
.Tags appartiennent à la zone mots-clés, ne pas remettre en question les titres.
OriginalL'auteur Ramesh | 2013-02-11
Vous devez vous connecter pour publier un commentaire.
Soit vous la RESTAURATION d'une Transaction Ou de valider une Transaction.J'espère que vous n'êtes pas le confondre avec début et de FIN de bloc qui n'est pas une opération et n'a rien à voir avec de la Transaction.
Je crois que dans la plupart des bases de données .... néanmoins, il se termine avec un ROULEAU de RETOUR ou de COMMETTRE.
Espère que cette aide.
OriginalL'auteur Tabish
BEGIN/END
délimite un bloc de code, sans le contrôle d'une transaction. Si ce n'est déjà à l'intérieur d'une transaction, chaque instruction est exécutée dans un cadre autonome de la transaction. GénéralementBEGIN/END
est utilisé avec la ramification/instructions de boucle (IF/WHILE
).BEGIN TRANSACTION /COMMIT TRANSACTION
indique le début d'une transaction: chaque instruction à l'intérieur de ce bloc est exécuté dans le cadre d'une même opération et ne peut pas être validée ou annulée individuellement.OriginalL'auteur user2001117
Pour SQL transactions en provenance de l'intérieur d'un programme comme celui-ci, une déclaration de FIN ferme simplement la transaction. Ce qui signifie que la transaction est terminée et rien de plus devraient être lieu. L'instruction COMMIT raconte en fait la base de données que vous souhaitez que l'opération de changements PERMANENTS.
Si vous êtes en "autocommit" mode, l'instruction COMMIT n'est pas nécessaire que chaque requête/déclaration doit être engagée.
Plus d'informations à propos de s'ENGAGER peut être trouvé ici.
Si vous utilisez ODBC pour votre connexion de base de données, de l'information sur la gestion des transactions peut être trouvé ici.
Aussi cette question a été demandé avant.
OriginalL'auteur yama arashi
"Fin" est utilisé pour mettre fin à la procédure/fonction. Il est important pour l'instruction à être exécutée.
'Commit' est utilisé en permanence pour enregistrer toutes les modifications dans la transaction.
Par exemple, vous avez créé ou supprimé une table à l'aide de l'Instruction SQL, vous aurez besoin pour valider les modifications.
Lire plus ici sur l'Instruction Commit.
http://docs.oracle.com/cd/B19306_01/server.102/b14200/statements_4010.htm
oh, mon mal, ce que je veux dire, c'est le processus. Désolé et merci pour cela.
OriginalL'auteur michelle.ann.diaz
La commande exacte des noms de début et de fin d'une transaction dépend de la base de données que vous utilisez (malheureusement).
Par exemple:
Dans SQLite, vous utilisez COMMENCER /COMMENCER la TRANSACTION pour commencer, et à la FIN /FIN TRANSACTION /VALIDATION /VALIDATION de la TRANSACTION à la fin d'une transaction.
Dans MySQL, vous utilisez START TRANSACTION /COMMENCER /COMMENCER à TRAVAILLER et à s'ENGAGER /s'ENGAGER pour la même.
OriginalL'auteur
Veuillez vous référer à cette LIEN pour plus de détails
OriginalL'auteur brykneval