Ir para conteúdo

POWERED BY:

Arquivado

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

JRFOL

Trigger de atualização

Recommended Posts

Meu sistema esta rodando a seguinte trigger após a atualização de uma tabela:

CODE
trigger atualiza_status_pessoa on cartao

for update

as

UPDATE [acesso\sqlexpress].teste.dbo.pessoas SET pessoas.status =

(SELECT case when cartao.sit='m' then '2' else '3' end as status2

FROM cartao

inner join inserted on cartao.cartao = inserted.cartao

WHERE pessoas.cred_pessoa = inserted.cartao)

 

acontece que desse modo a trigger atualiza todos os registros da tabela (os dados ficam certos)....

eu queria que ela atualiza-se somente o registro que sofreu o update....

 

 

como deveria ficar meu codigo para o update se limitar ao registro que foi editado ?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Sem querer ser chato, mas como você esta fazendo a atualizacao da tabela?! você pode passar um identity como parametro pela trigger, você jah tentou?!

 

abçs

Compartilhar este post


Link para o post
Compartilhar em outros sites

Sem querer ser chato, mas como você esta fazendo a atualizacao da tabela?! você pode passar um identity como parametro pela trigger, você jah tentou?!

 

abçs

a tabela é atualizada através do sistema (interface)....

identity ? como usaria ?.....

 

 

esse campo da tabela é o campo de situação do aluno, que indica se ele esta MATRICULADO, TRANCADO, etc.... baseado nesse campo o sistema de catracas libera ou bloqueia o aluno... preciso que quando esse campo for atualizado (a situação do aluno muda de Matriculado para Trancado e vice-versa) na tabela ALUNO ele atualize o STATUS do aluno na outra tabela... a trigger esta fazendo isso, mas ela confere todos os registros... e eu queria limitar somente ao editado

Compartilhar este post


Link para o post
Compartilhar em outros sites

Neste post acho que tem algo que pode lhe ajudar.

 

http://forums.microsoft.com/MSDN-BR/ShowPo...1&SiteID=21

 

Abçs

Compartilhar este post


Link para o post
Compartilhar em outros sites

Neste post acho que tem algo que pode lhe ajudar.

 

http://forums.microsoft.com/MSDN-BR/ShowPo...1&SiteID=21

 

Abçs

fala JUS2KA.... fiquei um tempo sem mexer aqui no meu BD, mas agora voltei ao trabalho, e estou nesse problema ainda..

olhei no forum que você indico mais não trata o meu problema.....

 

minha trigger esta funcionando e atualizando, mas quando ela roda, ela checa os dados de todos os registros e atualiza o que foi editado, eu queria que ela se limita-se somente ao registro que foi editado....

 

minha trigger hj esta assim:

CODE
create trigger atualiza_status_pessoa on cartao

for update

as

UPDATE [acesso\sqlexpress].teste.dbo.pessoas SET pessoas.status =

(SELECT case when cartao.sit='m' then '2' else '3' end as status2

FROM inserted

inner join cartao on cartao.cartao = inserted.cartao

WHERE pessoas.cred_pessoa = inserted.cartao)

desse modo quando eu atualizo um campo na tabela cartão.... ele roda a trigger que passa atualizando todos os registros da tabela pessoas.... e eu não consegui limitar na tabela pessoas somente ao registro de mesmo codigo que foi editado na tabela cartão

 

 

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

 

achei...

 

fico assim:

CODE
create trigger atualiza_status_pessoa on cartao

for update

as

UPDATE [acesso\sqlexpress].teste.dbo.pessoas SET pessoas.status =

(SELECT case when inserted.sit='m' then '2' else '3' end as status2

FROM inserted)

from [acesso\sqlexpress].teste.dbo.pessoas inner join inserted on inserted.cartao = pessoas.cred_pessoa

Compartilhar este post


Link para o post
Compartilhar em outros sites

Fala JRFOL, tirou férias é hehehehehe

 

Então, você conseguiu?!

 

Abçs

então JUS.... ta funcionando sim...

Férias ? que nada.... apareceram outros problemas para resolver e tive que deixar o trabalho no BD meio de lado.....

 

se der.... da uma ajuda nesse problema.... (postei em ACCESS pq o problema esta aparecendo no ACCESS)

 

http://forum.imasters.com.br/index.php...=276343&hl=

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ola JRFOL.

problemas e mais problemas hehehehe eh assim que se caminha neh?! rs

 

Vou ver no fórum de access pra ver se eu posso lhe ajudar. Qq coisa estamos por aki.

 

Abçs e boa sorte ^^

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.