Bom dia Edivam, Está trigger gerar valor nulo em caso novo registro numero de compra_id novo e novo registro no item. Testando troquei max pelo Count deu certo, porque isso ?
Bom dia!!! Amigo nesse caso vai dar certo em ambos as funções, pois o count vai retornar o total de itens e o max vai retornar o maior número ou seja ambos tem o mesmo resultado já que é mantido numero sequencial o total de itens sempre será o mesmo valor do maior da sequencia... Abraços...