Criação de Trigger - Oracle

Oracle

16/06/2014

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.
Marcel

Marcel

Curtidas 0

Respostas

Marisiana Battistella

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

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,
GOSTEI 0
Marisiana Battistella

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.
GOSTEI 0
Marisiana Battistella

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.
GOSTEI 0
Marisiana Battistella

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...
GOSTEI 0
POSTAR