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

Que tal ter acesso a um e-book gratuito que vai te ajudar muito nesse momento decisivo?

Ver ebook

Recomendado pra quem ainda não iniciou o estudos.

Eu quero
Ver ebook

Recomendado para quem está passando por dificuldades nessa etapa inicial

Eu quero

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

Aceitar