Ir para o conteúdo
jafm

stored procedure update

Mensagens Recomendadas

jafm

Boas,

será que me podia ajudar a clarificar uma dúvida, eu tenho uma tabela de Artigos em que um dos campos leva o preço do artigos,

Eu precisava de criar uma tabela de histórico, em que sempre que existisse uma alteração de preços ia-se reflectir na tabela nova de histórico. Podem me dizer qual a melhor forma para se fazer isto? Consigo fazer tudo através de uma stored procedure?

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
jafm

Já consegui fazer a procedure. não sei é se é o metodo mais correto para este tipo de questão. porque agora tenho o seguinte problema, só consigo introduzir/update apenas um registo.

DECLARE  @Artigo varchar(30), @Preco Money,@Desconto real
SELECT @Artigo=Artigo,@Preco=Preco, @Desconto=Desconto
FROM tbArtigos
WHERE Artigo in ('XTO','XPTO1')
exec spPrecosHistorico @Artigo,@Preco,@Desconto

agora tinha que percorrer a tabela toda de artigos para analisar se existe ou não alterações na tabela de histórico.

Como se faz em SQL um ciclo?

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
Wesley Rocha

Já consegui fazer a procedure. não sei é se é o metodo mais correto para este tipo de questão. porque agora tenho o seguinte problema, só consigo introduzir/update apenas um registo.

DECLARE @Artigo varchar(30), @Preco Money,@Desconto real
SELECT @Artigo=Artigo,@Preco=Preco, @Desconto=Desconto
FROM tbArtigos
WHERE Artigo in ('XTO','XPTO1')
exec spPrecosHistorico @Artigo,@Preco,@Desconto

agora tinha que percorrer a tabela toda de artigos para analisar se existe ou não alterações na tabela de histórico.

Como se faz em SQL um ciclo?

Olá, você já tentou fazer esse histórico usando triggers. Com as triggers qualquer alteração nos dados da tabela pode ser disparado uma instrução SQL, seja um insert em outra tabela, ou um update. Segue exemplo. https://msdn.microsoft.com/pt-br/library/ms189799(v=sql.120).aspx

Editado por Wesley Rocha

Partilhar esta mensagem


Ligação 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

×

Aviso Sobre Cookies

Ao usar este site você aceita os nossos Termos de Uso e Política de Privacidade. Este site usa cookies para disponibilizar funcionalidades personalizadas. Para mais informações visite esta página.