Ontem eu estava gerando um arquivo texto com comandos SQLs (ou DDLs, se preferirem) para recriar uma base de dados durante a instalação de uma aplicação web, em PHP.

Os comandos haviam todos sidos testados, e quando inseridos à mão, funcionavam. Mas, quando fui rodar pelo PHP, somente quando ia criar uma trigger (tabelas e sequences funcionaram normalmente), eu obtinha o seguinte erro: ORA-24344 success with compilation error.

Bem, na verdade, como o Oracle XE detectou que meu sistema operacional estava em português, exibia isso: ORA-24344 êxito com erro de compilação (o que não acha nada no Google, o que me faz pensar se sou o único que tem Oracle com mensagem em português automaticamente).

Depois de algumas buscas, eu li que não sei porque motivo, eu precisava deixar o comando para criar as triggers em uma linha só. BINGO! Era exatamente isso. Deixei o SQL da trigger todo em uma linha no arquivo texto, e pronto, funcionou!