Bom dia. Eu estou precisando criar uma TRIGGER ao atualizar um campo em minha tabela. O nome da tabela é CorProduto, e quando eu gravar o valor "1" no campo CX_EAN13, ele processa a TRIGGER e altera neste campo com o código de barras.
Este mesmo procedimento efetuo ao incluir um registro. Neste caso, eu já tenho a TRIGGER correta e que vou colar abaixo, mas ao alterar não estou conseguindo fazer, pois não tenho muita experiência em trabalhar com TRIGGER.
CREATE Trigger IncluirCodigoBarras on dbo.CorProduto
For Insert As
Begin
If Exists(Select EAN13 from Inserted Where EAN13 = '1')
Begin
Declare @Numero VarChar(15)
Select
@Numero = Convert(VarChar,Convert(VarChar,SubString(Convert(VarChar,Max(EAN13)),1,8))
+ Replicate('0',4 - Len(Max(Substring(Convert(VarChar,EAN13),9,4)) + 1))
+ Convert(VarChar,Max(Substring(Convert(VarChar,EAN13),9,4)) + 1 )
)
from corproduto
Update CorProduto Set
EAN13 = SIL.dbo.GeraBarra(@Numero)
From Inserted i,CorProduto c
Where
c.CodigoTipo = i.CodigoTipo And
c.CodigoBitola = i.CodigoBitola And
c.CodigoCor = i.CodigoCor
end
End
O código tem que ser o mesmo, mas tem que funcionar ao alterar o registro. Como devo fazer? Como tem a opção Inserted, existe a Updated? Não sei se estou falando besteira.
Obrigado e aguardo retorno...
Alex