Ir para conteúdo
Fórum Script Brasil
  • 0

Ajuda com uma TRIGGER


Juliano Russo de Andrade

Pergunta

Gostaria de uma ajuda para interpretar o que essa trigger faz.

Alguém pode me ajudar a esclarecer o que essa trigger faz

===>

USE [dbVetorhCrm]
GO
/****** Object:  Trigger [usrVetorhCRM].[r900log_su]    Script Date: 07/02/2010 15:15:03 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER  TRIGGER [usrVetorhCRM].[r900log_su]  ON [usrVetorhCRM].[r900log] FOR update AS 
BEGIN
DECLARE @imagic BIGINT
  DECLARE @ChkError INTEGER
SAVE TRANSACTION TR_r900log_su
  SELECT @ChkError = 0
  SELECT 
      @IMAGIC=r900lcn.maxpos 
       FROM r900lcn r900lcn
  SELECT @ChkError = CASE @@RowCount WHEN 0 THEN -50 WHEN 1 THEN 0 ELSE 512 END
  IF @ChkError <> 0
  BEGIN
    GOTO FIM
  END
  IF (@IMAGIC<>-7271)
  BEGIN
    BEGIN
      RAISERROR('ACCESS DENIED',11,1) WITH SETERROR
      SELECT @ChkError = -30
      GOTO FIM
    END
  END
FIM:
IF @ChkError <> 0
ROLLBACK TRANSACTION TR_r900log_su
END

Editado por kuroi
Adicionar tag CODE
Link para o comentário
Compartilhar em outros sites

1 resposta a esta questão

Posts Recomendados

  • 0

Bom dia Juliano,

Ativado apenas quando for Update.

Recupera o valor da coluna "maxpos" contido na tabela "r900lcn"

Se o select retornou algum valor, o valor será atribuida a variável @IMAGIC.

No @@RowCount é identificado se retornou algum resultado no select anterior (número).

Se o @@RowCount for 1, o @ChkError receberá 0

Se o @@RowCount for 0, o @ChkError receberá -50

Se o @@RowCount for diferente de 0 ou 1, o @ChkError receberá 512

Se o @ChkError for diferente de 0, vai pro FIM (IF @ChkError <> 0)

Se o valor atribuido a variável @IMAGIC for diferente de -7271, você reportará a descrição de erro "ACCESS DENIED"

Se o @ChkError for diferente de 0, dá ROLLBACK

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,3k
×
×
  • Criar Novo...