Atualizar proprio campo dentro de uma Trigger

17/06/2007

0

Caros, minha dúvida é a seguinte:
venho do firebird.
e dentro de uma trigger no fb, fazia assim:

trigger <...> before update...
begin

New.MeuCampo = ValorQualquer;

end

no sqlserver, como eu faco isso ?
tipo, preciso atualizar um campo da propria tabela que está vinculada a trigger. Este campo, será retornado por uma funcao.
Exemplo:
a tabela possui Tres campos no exemplo;

DataInicial DateTime,
DataFinal DateTime,
QdeDiasUteis Int

no evento de Insert ou Update,
preciso saber quantos dias uteis tem entre a DataInicial e a DataFinal, vinculada com algums parametros de controle (deve considerar sabado, domingos ou nao).

entao.
exemplo:
DataInicial = 1-6-2007
DataFinal = 10-6-2007
QdeDiasUteis = (Retorna de Uma funcao),


resumo: preciso atualizar um campo dentro de uma trigger, so que este campo esta vinculado a propria tabela que esta sofrendo a acao da trigger.
como eu faco ?


obrigado.


Pedih

Pedih

Responder

Posts

10/07/2007

Psergio.p

Você tem que enviar uma instrução UPDATE para a propria tabela, por exemplo, supondo que a trigger afeta a tabela ´tb_clientes´:

CREATE TRIGGER
...
DECLARE @IDCLINTE NUMERIC

SELECT @IDCLIENTE = IDCLIENTE FROM inserted

UPDATE tbl_clientes SET ... WHERE IDCLIENTE = @IDCLIENTE
...

Você entendeu?


Responder

Assista grátis a nossa aula inaugural

Assitir aula

Saiba por que programar é uma questão de
sobrevivência e como aprender sem riscos

Assistir agora

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar