Usuário com melhor resposta
Transação ou Gatilhos

Pergunta
-
oi gente,
gostaria que me dessem uma ajuda, não sei se devo usar transaction ou triggers. eu tenho três tabelas (PRODUTO,VENDA,PROD_VENDA). eis a sintaxe da criação:
create table produto ( prod_id int primary key, prod_desc varchar(50) not null, prod_preco money not null check (prod_preco>=0) ) go create table vendas ( ven_id int primary key identity(1,1), ven_data date not null, ven_cliente varchar(20) not null ) go create table vendas_produto ( ven_id int not null references vendas(ven_id), prod_id int not null references produto(prod_id), ven_qty int not null check(ven_qty>0), constraint pk_ven_prod primary key(ven_id,prod_id) )
na tabela vendas_produto vai conter a vendas e os seus produtos, ex: (1,2002,2); ex: (1,2003,1). significa que eu quero que na medida que salva uma venda automaticamente salva os produtos e quantidades na tabela venda_produto ( não importa quantos produtos) ...
"Abraão" - Apreciador de Programação "Senhor Jesus, ilumine o meu caminho..."
Respostas
-
Deleted
- Marcado como Resposta Giovani Cr quinta-feira, 30 de janeiro de 2014 14:51
-
Abraão - Joaquim Faustino da Costa,
Eu concordo com o José, as funcionalidades de uma TRIGGER não se aplicam à sua necessidade.
Você precisa manter os dados consistentes, se houver uma falha em uma TRIGGER você terá perda de dados em uma ou mais tabelas.
Com o TRANSACTION, você vai manter os dados íntegros. Os dados somente serão adicionados ou atualizados se todo o contexto, nas tabelas envolvidas, for concluída corretamente.
Veja mais informações na documentação do TechNet:
http://technet.microsoft.com/pt-br/library/ms189799.aspx
http://technet.microsoft.com/pt-br/library/ms188929(v=SQL.105).aspx
Se ajudou na sua solução, não esqueça de marcar como resposta !
Abraços,Durval RamosMicrosoft Partner | MTA - SQL Server 2012---------------------------------- Se foi resolvido clique "Marcar como resposta" e se foi útil "Votar como Útil"- Marcado como Resposta Giovani Cr quinta-feira, 30 de janeiro de 2014 14:51
Todas as Respostas
-
Deleted
- Marcado como Resposta Giovani Cr quinta-feira, 30 de janeiro de 2014 14:51
-
Abraão - Joaquim Faustino da Costa,
Eu concordo com o José, as funcionalidades de uma TRIGGER não se aplicam à sua necessidade.
Você precisa manter os dados consistentes, se houver uma falha em uma TRIGGER você terá perda de dados em uma ou mais tabelas.
Com o TRANSACTION, você vai manter os dados íntegros. Os dados somente serão adicionados ou atualizados se todo o contexto, nas tabelas envolvidas, for concluída corretamente.
Veja mais informações na documentação do TechNet:
http://technet.microsoft.com/pt-br/library/ms189799.aspx
http://technet.microsoft.com/pt-br/library/ms188929(v=SQL.105).aspx
Se ajudou na sua solução, não esqueça de marcar como resposta !
Abraços,Durval RamosMicrosoft Partner | MTA - SQL Server 2012---------------------------------- Se foi resolvido clique "Marcar como resposta" e se foi útil "Votar como Útil"- Marcado como Resposta Giovani Cr quinta-feira, 30 de janeiro de 2014 14:51
-
-
qual seria a sintaxe desta transação ..
"Abraão" - Apreciador de Programação "Senhor Jesus, ilumine o meu caminho..."
Abraão,
Segue novamente a referência sobre como criar transações no SQL Server.
http://technet.microsoft.com/pt-br/library/ms188929(v=SQL.105).aspx
http://technet.microsoft.com/pt-br/library/ms175523(v=sql.105).aspx
Se ajudou na sua solução, não esqueça de marcar como resposta !
Abraços,Durval RamosMicrosoft Partner | MTA - SQL Server 2012---------------------------------- Se foi resolvido clique "Marcar como resposta" e se foi útil "Votar como Útil" -