Criação de Trigger - Oracle
Prezados, boa tarde!
Sou novo no fórum e gostaria de uma ajuda para acabar com um grande problema (para mim), para os experts aqui do fórum acredito que será fácil.
Não tenho muitas experiencia em criação de trigger no oracle. Mas gostaria de criar um trigger que simplesmente alterasse uma coluna em uma determina condição.
Ex:
Faço um pedido em meu ERP, quando finalizado na forma de pagamento ele insere uma linha em uma determinada tabela
tabela - financeiro_titulo
Pedido Pagamento nropagamento seriedoc
300 DINHEIRO 10 50
Gostaria de saber como posso criar a trigger que quando as condições abaixo forem inseridas
nropagamento = 10
seriedoc = 50
pagamento = DINHEIRO
Sejam alteradas conforme abaixo:
nropagamento = 10
seriedoc = 50
pagamento = CHEQUE **** (única que mudou foi de Dinheiro para Cheque)
a tabela é a mesma
Quem puder ajudar agradeço, desculpe pela ignorância.
Sou novo no fórum e gostaria de uma ajuda para acabar com um grande problema (para mim), para os experts aqui do fórum acredito que será fácil.
Não tenho muitas experiencia em criação de trigger no oracle. Mas gostaria de criar um trigger que simplesmente alterasse uma coluna em uma determina condição.
Ex:
Faço um pedido em meu ERP, quando finalizado na forma de pagamento ele insere uma linha em uma determinada tabela
tabela - financeiro_titulo
Pedido Pagamento nropagamento seriedoc
300 DINHEIRO 10 50
Gostaria de saber como posso criar a trigger que quando as condições abaixo forem inseridas
nropagamento = 10
seriedoc = 50
pagamento = DINHEIRO
Sejam alteradas conforme abaixo:
nropagamento = 10
seriedoc = 50
pagamento = CHEQUE **** (única que mudou foi de Dinheiro para Cheque)
a tabela é a mesma
Quem puder ajudar agradeço, desculpe pela ignorância.
Marcel
Curtidas 0
Respostas
Marisiana Battistella
16/06/2014
E se ao invés de criar uma trigger, você tratasse essa condição no próprio procedimento de inserção ou alteração?
GOSTEI 0
Marcel
16/06/2014
Marisiana,
Obrigado pela ajuda.
Mais como trata-se de ERP tenho uma serie de procedimento que devem ser adotados para a funcionalidade do mesmo.
Acontece que quando tento criar essa trigger da erro de Mutante, pois o update é na mesma tabela do select.
Att,
Obrigado pela ajuda.
Mais como trata-se de ERP tenho uma serie de procedimento que devem ser adotados para a funcionalidade do mesmo.
Acontece que quando tento criar essa trigger da erro de Mutante, pois o update é na mesma tabela do select.
Att,
GOSTEI 0
Marisiana Battistella
16/06/2014
Por exemplo, se essas condições que você mencionou são fixas, todas as vezes que será realizada uma inserção ou uma alteração, executará uma condição que verifica se é necessário ou não realizar a alteração tipo de pagamento (DINHEIRO para CHEQUE).
Se vc criar uma trigger, essa trigger você terá que criar esta condição dentro da trigger, e mesmo que não seja realizada a alteração ela será processada e, neste caso, considero desnecessário o uso de trigger.
Se vc criar uma trigger, essa trigger você terá que criar esta condição dentro da trigger, e mesmo que não seja realizada a alteração ela será processada e, neste caso, considero desnecessário o uso de trigger.
GOSTEI 0
Marisiana Battistella
16/06/2014
Estava escrevendo e não vi q vc já tinha respondido...
Olha, eu sou um pouco contra o uso de trigger, prefiro sempre utilizar procedimentos e funções pois assim sou eu que manipulo elas via código na aplicação.
Fica muito mais fácil de fazer validações verificando se ocorreram erros ou não e até mesmo de verificar a performance dos códigos.
Olha, eu sou um pouco contra o uso de trigger, prefiro sempre utilizar procedimentos e funções pois assim sou eu que manipulo elas via código na aplicação.
Fica muito mais fácil de fazer validações verificando se ocorreram erros ou não e até mesmo de verificar a performance dos códigos.
GOSTEI 0
Marisiana Battistella
16/06/2014
Se vc já tem a alteração e a inserção no mesmo procedimento, só falta incluir esse teste para verificar qual é o tipo de pagamento que está sendo incluido/alterado antes de executar a inserção ou alteração. Assim, vc já insere/altera uma única vez com os valores corretos a serem armazenados.
Não sei se consegui ser clara na explicação...
Não sei se consegui ser clara na explicação...
GOSTEI 0