• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

Damon4hire

Triggers Sql Server 2008

3 mensagens neste tópico

boas

Estou a ter problemas com os triggers da minha BD,

não é matéria que domine lol.

Tenho estas tabelas:

Dvds

------

id - prim key (identity)

.....etc.......

quantidade (int)

EntradasDetalhes

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

id - prim key (identity)

.....etc.......

id_dvd (int)

quantidade_recebida (int)

A ideia é cada vez que for um registo introduzido na tabela [EntradasDetalhes]

ele devia fazer

Dvds.quantidade = Dvds.quantidade + [EntradasDetalhes].quantidade_recebida

Cheguei aqui e fiquei:

create trigger aumentaStock on EntradasDetalhes

after insert as

update Dvds

......

uma ajuda por favor

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

O trigger não me parece a melhor solução para isso.

Eu fazia uma stored procedure que tinha essas querys dentro de uma transacção.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Faz algo tipo isto:

CREATE TRIGGER aumentaStock ON EntradaDetalhes
AFTER INSERT
AS
DECLARE @quant INTEGER
SELECT @quant = (SELECT quantidade_recebida FROM EntradasDetalhes)
UPDATE Dvds SET quantidade = (SELECT quantidade FROM Dvds) + @quant

Não sei se isto funciona, mas é só para veres mais ou menos a lógica, vais buscar o novo valor, guarda-lo e depois actualizas a tabela Dvds. Agora tens de ver como se faz isto em SQL Server.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora