Damon4hire Posted November 22, 2009 at 09:38 PM Report Share #297233 Posted November 22, 2009 at 09:38 PM boas pessoal precisava de uma ajuda a criar um stored procedure que me permita introduzir dados em 2 tabelas diferentes. O problema é que os dados de uma tabela vão depender dos dados introduzidos na outra. As tabelas são estas: Compras ----------- numfactura (identity) data idfornecedor ComprasDetalhes ---------------------- id (identity) numfactura idproduto quantidade A ideia é ao introduzir uma compra, um numfactura é gerado, e com esse numero gerado posso então introduzir os dados na outra tabela. Só não sei é como prever o numero gerado ou quantos produtos podem estar introduzidos na mesma factura. Uma ajuda pfv. 🙂 Link to comment Share on other sites More sharing options...
bruno1234 Posted November 22, 2009 at 09:42 PM Report Share #297234 Posted November 22, 2009 at 09:42 PM qd fazes o insert na primeira tabela, pds obter o campo identidade: Através da variável: @@Identity ou então da função: SCOPE_IDENTITY() Matraquilhos para Android. Gratuito na Play Store. https://play.google.com/store/apps/details?id=pt.bca.matraquilhos Link to comment Share on other sites More sharing options...
Damon4hire Posted November 22, 2009 at 11:44 PM Author Report Share #297245 Posted November 22, 2009 at 11:44 PM Tks, ajudou. Mas ainda tenho um problema. Fiz isto: create procedure novaCompra @idfornecedor int as declare @numfactura int insert into Compras(idfornecedor) values(@idfornecedor) return set @numfactura = @@IDENTITY para testar fiz isto: declare @number int exec @number = novaCompra 2 insert into ComprasDetalhes(numfacturaentrada, iddvd, quantidade) values(@number, 1, 1) e dá-me isto: (1 row(s) affected) (1 row(s) affected) Msg 547, Level 16, State 0, Line 3 The INSERT statement conflicted with the FOREIGN KEY constraint "FK_ComprasDetalhes_Compras". The conflict occurred in database "Loja", table "dbo.Compras", column 'numfacturaentrada'. The statement has been terminated. Não percebo.. Link to comment Share on other sites More sharing options...
TheDark Posted November 23, 2009 at 12:11 AM Report Share #297249 Posted November 23, 2009 at 12:11 AM Eu diria que a coluna ComprasDetalhes.numfactura está a referenciar a tabela Entradas em vez da tabela Compras. Desaparecido. Link to comment Share on other sites More sharing options...
Damon4hire Posted November 23, 2009 at 12:14 AM Author Report Share #297250 Posted November 23, 2009 at 12:14 AM lol ya eu mudei o nome da tabela pa melhor entendimento ao explicar o conceito, e esqueci-me dakele detalhe 🙂 . mas é assim como está agora Link to comment Share on other sites More sharing options...
TheDark Posted November 23, 2009 at 12:32 AM Report Share #297252 Posted November 23, 2009 at 12:32 AM Não sei bem o que faz o return set ... mas nos testes que fiz o resultado era sempre 0. Substitui por return @@IDENTITY Desaparecido. Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now