Est-ce qu'une function ou procedure est implicitement un bloc transactionnel ?
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 :
Code:
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; |
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) ?
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 :)