Karthikeyan,
No puede crear un disparador dentro del procedimiento almacenado. El disparador es una instrucción DDL que no está permitida dentro de los procedimientos.
" ERROR 1303 (2F003):No se puede crear un DISPARADOR desde dentro de otra rutina almacenada "
Para resolver su propósito puede hacer lo siguiente:
-
Tome los valores actuales de la tabla dentro de la variable.
-
Simplemente escriba una consulta de actualización dentro de su procedimiento, luego verifique si el valor se actualiza o no mediante "ROW_COUNT()".
-
Compare el valor nuevo con el valor antiguo, el modificado y luego insértelo manualmente en la tabla change_log.