Blz ? Primeira coisa vc ** TEM ** que checar se as suas aplicações possuem um mecanismo para te avisar quando uma dada operação é feita : se seus aplicativos são ERPs, isso é bem comum, por exemplo no Oracle EBS vc tem o coneito de Business Events, no SAP vc tem os SAP Process Events.... É comum a aplicação já ter uma provisão para disparar um programa/rotina teu quando um evento/situação ocorrer....
CASO nem todas (ou mesmo nenhuma) das aplicações , aí é o seguinte : ao que entendi esses eventos de 'emitir uma nota fiscal' e não sei o que mais ** não ** podem ser identificados de outra forma que não seja monitorar as tabelas que registram os dados referentes a tais processamentos, certo ? Sendo isso, para Além das triggers (que são possíveis sim, e são facilmente criadas num LOOP com SQL dinâmico ou via script sqlplus criando script de DDLs, uma técnica comum pra DBAs), vc TEM sim várias opções mas do mesmo modo que as triggers não seriam super-simples de escrever, do mesmo modo NENHUMA das outras alternativas é super-simples, para nenhuma basta vc passar a lista das tabelas e o nome da procedure que envia email/faz não-sei-o-que e ela já faria tudo - se vc espera algo nesse sentido imho vai ficar decepcionado..... TODAS elas envolvem algum setup/programação de sua parte, em alguns casos LONGOS e relativamente complexos....E *** não garanto ** que todas funcionem no capadinhoe restrito Standard Edition, veja lá... As opções principais seriam : a) simplesmente criar um JOB seu que dispara a cada X minutos uma procedure sua que consulte se houve qualquer alteração nas tabelas que mantém os dados que vc quer, se houve a rotina/procedure sua envia os emails;faz o que vc quer e mantém uma tabela-histórico adequada para evitar re-envio... Provavelmente deve ser um tanto longo/demorado escrever uma rotina que consulte as tabelas todas que vc quer mas possível claro que é... b) usa o conceito de DATA NOTIFICATION, ie, cria um programa que é AVISADO quando uma determinada query (que Consulte as tabelas que guardam os dados dos tais eventos como emitir nota ou outras coisas) tem seus resultados mudados : http://psoug.org/reference/dbms_change_notification.html descrever um pouco o conceito, e http://www.oracle.com/technetwork/testcontent/dcn-otn-085625.html demonstra com um programinha feito em Java... Com isso eu imagino a(s) query/queries fazendo COUNT das tabelas envolvidas, por exemplo, e quando esse resultado mudou. enviar os SMSs/email/não sei que que vc quer... Uma variação seia o RESULT CACHE, https://asktom.oracle.com/pls/apex/f?p=100:11:0::::P11_QUESTION_ID:1201993900346923339 fala um pouco sobre ele... c) pelo que entendi do seu cenário STREAMS não seria exatamente o que vc quer (STREAMS serve para replicação, tipo exemplificado em http://wedostreams.blogspot.com.br/2009/01/oracle-streams-101.html, e nesse tipo de uso não teria como vc indicar qualquer processamento além de replicar os dados) - pelo que imagino vc pensava em criar é um QUEUE de mensagens pelo Advanced Queue, tool essa que por trás usa o Streams para seus propósitos, certo ? Isso é explicitado no manual 11gR2 referente, online em https://docs.oracle.com/cd/E18283_01/server.112/e11013/aq_demo.htm#i1006841... Eu creio que vc com ele pensa em usar as suas tabelas que registram os dados de emissão de nf e as outras coisas mais como fonte das mensagens e o processo de dequeue (que provavelmente ficaria rodando permanentemente em background ou seria cionado por job em intervalos) além de remover as mensagens dos queues (tipo https://dba.stackexchange.com/questions/25161/what-are-the-real-life-cases-for-using-oracle-advanced-queuing) além disso enviaria os emails/SMSs e outras coisas... Nunca usei assim mas CREIO que em tese possível é, sim.... d) uma alternativa de baixa tecnologia (que requer um pouco de pensamento fora da caixa mas pode ser interessante) é vc estabelecer uma AUDITORIA para DMLs nas tabelas em questão e aí OU ter uma trigger só nessa tabela de auditoria OU ter um job que a cada x minutos dispara uma rotina que vc escreveu e consulta a tabela de auditoria pra ver se houve DML nas tabelas que regstram os dados de NF ou o que mais te interessa, se detectou alterações envia SMS/email/whatever e) usar o CDC (Change Data capture) - vide https://mdinh.wordpress.com/2010/11/20/my-change-data-capture-adventure-part1/para um exemplo... f) criar uma view materializada de REFRESH ON COMMIT que usa as tabelas todas em questão e ter uma trigger na view materializada que faça o envio de SMS/email/etc que vc quer ==> e algumas variações no tema, eventualmente mixando alguma(s) das técnicas acima ou variações delas... []s Chiappa