L'explication est assez simple, la fonction datachange() monitore les ordres dml (insert, update, delete) qui modifient les datas dans la table, pas le ddl (ordres create, alter, ...).
L'ordre...