Bonjour,
N'ayant pas Oracle à disposition, je souhaiterais vous demander confirmation concernant le fait si une function ou procedure Oracle est considérée comme un bloc transactionnel.
Exemple :
Je souhaiterais donc savoir si par exemple, en exécutant la ligne "val := ma_fonction_toto();" dans ma_fonction_titi j'ai effectué une transaction (transaction imbriquée) ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20 CREATE FUNCTION ma_fonction_toto() RETURN NUMBER AS BEGIN INSERT INTO ma_table values(1); RETURN 1 + 1 + 1; END; CREATE FUNCTION ma_fonction_titi() RETURN NUMBER AS val number; BEGIN val := ma_fonction_toto(); ROLLBACK; RETURN val; END;
Est-ce que mon INSERT dans ma_fonction_toto a bien eu le ROLLBACK, ou bien y a-t-il eu un COMMIT au niveau du END dans ma_fonction_toto ?
Merci
Partager