Les commandes DDL sont-elles autocommit?
Les commandes DDL sont-elles autocommit?

Vidéo: Les commandes DDL sont-elles autocommit?

Vidéo: Les commandes DDL sont-elles autocommit?
Vidéo: Les commandes DDL de gestion des tables sous le langage SQL 2024, Peut
Anonim

Est ( LDD ) Langage de manipulation des données déclarationsAutocommit ? Non. Seul le LDD (Langage de définition de données) déclarations comme créer, modifier, supprimer, tronquer sont validation automatique.

A côté de cela, les commandes DML sont-elles Autocommit ?

Par défaut, un LMD L'instruction exécutée sans démarrer explicitement une transaction est automatiquement validée en cas de réussite ou annulée en cas d'échec à la fin de l'instruction. Ce comportement est appelé validation automatique . Ce comportement est contrôlé avec le AUTOCOMMIT paramètre. LDD déclarations sont toujours autocommis.

Par la suite, la question est, qu'est-ce qu'Autocommit en SQL ? Dans le cadre de la gestion des données, validation automatique est un mode de fonctionnement d'une connexion à une base de données. L'alternative à validation automatique mode (non validation automatique ) signifie que le SQL L'application cliente elle-même est responsable de l'émission des commandes d'initiation de transaction (démarrage de transaction) et de terminaison (annulation de validation).

Alors, DDL nécessite-t-il un commit ?

TRUNCATE est un LDD commande donc il n'a pas besoin d'unexplicit s'engager parce que l'appeler exécute un implicite s'engager . Du point de vue de la conception du système, une transaction est une unité commerciale de travail. Il peut s'agir d'une seule instruction DML ou de plusieurs d'entre elles. Peu importe: seules les transactions complètes exiger COMMIT.

Que se passe-t-il lorsque la validation automatique est activée ?

Si AUTOCOMMIT est défini à 1, chaque instruction SQL est considérée comme une transaction complète et validée par défaut lorsqu'elle se termine. Si AUTOCOMMIT est défini à 0, la série d'instructions suivante agit comme une transaction et aucune transaction n'est validée tant qu'une instruction COMMIT explicite n'est pas émise.

Conseillé: