maria-developers team mailing list archive
-
maria-developers team
-
Mailing list archive
-
Message #11012
Re: Error 1422 - Explicit or implicit commit is not allowed in stored function or trigger
Hi Jerome,
On 11/28/2017 02:33 PM, jerome brauge wrote:
> Hello Alexander,
> I'm facing to a new issue with my stored procedures.
> Some of them are called directly or from trigger.
> When these procedures are called directly, they manage the transaction and when they are called from trigger, they doesn't manage the transaction.
> This works fine on Oracle, SQLServer , ... but fail on Mariadb because the check is done in is_not_allowed_in_function() before the call.
Sorry, this part is out of scope of my knowledge.
Can you please discuss with Sergei?
>
> use test;
> set sql_mode=oracle;
> create or replace table t1 (c1 int);
> insert into t1 values (1);
> delimiter /
> create or replace procedure p1(manage_transactionnal int)
> is
> begin
> if manage_transactionnal = 1 then
> commit;
> end if;
> end;
> /
> create or replace trigger tg1 after delete on t1 for each row
> begin
> call p1(0);
> end;
> /
> delimiter ;
> start transaction;
> delete from t1;
> rollback;
>
> What do you think about this ?
>
> Regards,
> Jérôme.
>
Follow ups
References