Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Diego G. Dias

Trigger

Recommended Posts

Alguém por gentileza poderia me dizer como faço para pegar o ID de uma tabela via TRIGGER?

 

Tenho uma tabela "X" crei uma trigger para que toda vez que esta tabela for atualizada, eu também atualize um determinado campo.

 

A minha dúvida é, como faço para pegar o ID da tabela que está sendo atualizada.

 

Passando por parâmetro (como?)

Ou á algum comando que pego este valor (ex: SCOPE_IDENTITY PARA INSERT)

 

 

Obrigado

Compartilhar este post


Link para o post
Compartilhar em outros sites

CREATE TABLE TABELA (CODIGO INT, NOME VARCHAR(50))

 

CREATE TABLE TABELA_DESTINO (CODIGO INT, NOME VARCHAR(50))

 

---------------------------------------------------------------------------------------------------

 

CREATE TRIGGER INSERE

ON TABELA

FOR INSERT

AS

 

BEGIN

INSERT INTO TABELA_DESTINO (CODIGO,NOME)

SELECT A.CODIGO,A.NOME FROM INSERTED A

PRINT 'DADOS ATUALIZADOS NA TABELA_DESTINO'

END

 

---------------------------------------------------------------------------------------------------

 

CREATE TRIGGER ALTERA

ON TABELA

FOR UPDATE

AS

 

BEGIN

UPDATE TABELA_DESTINO

SET CODIGO = A.CODIGO, NOME = A.NOME

FROM inserted A, TABELA_DESTINO B

WHERE A.CODIGO = B.CODIGO

PRINT 'DADOS ATUALIZADOS NA TABELA_DESTINO'

END

 

---------------------------------------------------------------------------------------------------

 

INSERT INTO TABELA VALUES (1,'TESTE 1')

INSERT INTO TABELA VALUES (2,'TESTE 2')

INSERT INTO TABELA VALUES (3,'TESTE 3')

 

---------------------------------------------------------------------------------------------------

 

SELECT *FROM TABELA

SELECT *FROM TABELA_DESTINO

 

---------------------------------------------------------------------------------------------------

 

UPDATE TABELA

SET NOME = 'NOVO_VALOR'

WHERE CODIGO = 3

 

---------------------------------------------------------------------------------------------------

 

SELECT *FROM TABELA

SELECT *FROM TABELA_DESTINO

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.