Bonjour,
Je voudrais savoir si Oracle gère ce qu'on pourrait appeler une sous-transaction dans une transaction quand j'utilise un trigger?
Test 1 : je fais un Insert (OK), un Delete (OK), un Update de 100 lignes (KO) --> l'Insert et le Delete ne sont pas annulés, seule la totalité de l'Update est annulée par oracle, indépendamment du fait que je ferais ensuite un Commit ou un Rollback.
Test 2 : je fais un Insert (OK), un Delete (OK), un Update de 100 lignes (OK cette fois) avec un trigger AFTER UPDATE sur la table et dans ce trigger il y a un Insert dans une table des évènements qui échoue : dans ce cas l'Insert du Trigger est annulé MAIS AUSSI l'Update auquel est associé ce trigger (si mes souvenirs sont bons).
D'après ce que j'avais vu, le trigger est donc relié à l'évènement déclencheur et il forme un tout avec lui.
Je voudrais alors savoir quel est le terme utilisé par Oracle et les DBA pour désigner cet ensemble formé par un ordre DLM et son trigger : sous-transaction, bloc transactionnel... (c'est pour explorer ce mécanisme avec Google)?
Dans la doc Oracle il existe un terme pour désigner le rollback des N opérations d'un Update multi-rows : c'est le "statement-level rollback" donc est-ce que c'est "Statement level" le mot que ke recherche même si je doute fortement?
Par avance merci.
Partager