Inserção de dados em tabelas

16/10/2013

0

GOSTARIA DE AJUDA PARA MONTAR O CÓDIGO PARA QUE AO FAZER UM INSERT NA TABELA ESTOQUE ELA ATUALIZE E INSIRA NA TABELA PRODUTO.
USEI AS TABELAS ABAIXO.

CREATE TABLE ESTOQUE
(COD_ESTOQUE NUMBER(4) CONSTRAINT PK_ESTOQUE PRIMARY KEY,
NOME_PRODUTO VARCHAR2(30) NOT NULL,
QTDE_MINIMA NUMBER(11) NOT NULL,
QTDE_ESTOQUE NUMBER(11) NOT NULL
);

CREATE TABLE PRODUTO
(COD_PRODUTO NUMBER(4) CONSTRAINT PK_PRODUTO PRIMARY KEY,
NOME_PRODUTO VARCHAR2(30) NOT NULL,
COD_FORNECEDOR NUMBER(4) REFERENCES FORNECEDOR(COD_FORNECEDOR),
QTDE_MINIMO_PRODUTO NUMBER(4) NOT NULL
);
Francielle Oliveira

Francielle Oliveira

Responder

Posts

16/10/2013

Alex Lekao

Ola Francielle, boa tarde!!!

Desculpe, mas esses codigos sao apenas testes para conhecimento seu e pratica com sql ou esta montando alguma coisa e deseja fazer uso?

Caso seja especificamente para conhecimento, acredito que vc podera utilizar uma trigguer com o after insert ele de um insert na outra tabela.

Caso seja para producao e utilizacao disso mais efetiva, digamos assim, vc precisa analisar melhor a sua modelagem para fazer as insercoes, pq as suas tabela vao apresentar redundancias.

Espero que ajude.

Abraco.

Alex - Lekao
Responder

16/10/2013

Alex Lekao

Oi Franciele,

da uma olhada neste link

http://pt.wikibooks.org/wiki/PostgreSQL_Pr%C3%A1tico/Fun%C3%A7%C3%B5es_Definidas_pelo_Usu%C3%A1rio_e_Triggers/Triggers

fala sobre postgree, mas acho que deve dar uma ajuda para ter uma nocao das trigguers.
Responder

16/10/2013

Francielle Oliveira

São para conhecimento e prática, gosto de programação mais tenho muita dificuldade com banco de dados, algumas coisas consigo e outras tenho mais dificuldade como este caso que estou citando acima.
Vou tentar fazer a trigger.
Responder

16/10/2013

Jefferson Santos

Francielle,
Você sabe criar uma procedure? Uma simples procedure resolve seu problema.
Responder

16/10/2013

Francielle Oliveira

Na verdade não mais posso tentar fazer uma para verificar se resolve.
Teria que fazer um update dentro da procedure?
Responder

16/10/2013

Jefferson Santos

Segue um modelo de procedure simples:

CREATE PROCEDURE sp_AlteraCliente_Update						-- Procedure de Alteração TbCliente
(       @IdCliente	int
,		@sNome    			varchar(50) = NULL
,       @sApelido           varchar(30) = NULL
,		@sCPF				varchar(15) = NULL
,		@sContato          	VARCHAR(15) = NULL
,		@sContato2          VARCHAR(15) = NULL
,		@sEmail				VARCHAR(50) = NULL
,       @datNasc datetime 				= NULL
) AS

UPDATE dbo.tbCliente
SET sNome = IsNull(@sNome, sNome)
  , sApelido  = IsNull(@sApelido , sApelido )
  , sCPF = IsNull(@sCPF, sCPF)
  , sContato = IsNull(@sContato, sContato)
  , sContato2 = IsNull(@sContato2, sContato2)
  , sEmail = IsNull (@sEmail, sEmail)
  , datNasc = IsNull(@datNasc, datNasc)
WHERE IdCliente = @IdCliente


Tente edita-la para seu uso.
Lembrando de fazer o update nas duas tabelas, depois de pronta só rodar a procedure.

exec sp_AlteraFuncionario_Update '1', 'Jeferson Coutinho','Coutinho','00100305911','02126516487','02172188188', 'jeffersoncoutinho@terra.com.br', '19881027' 		-- Modo de execução de Procedure
Responder

16/10/2013

Alex Lekao

São para conhecimento e prática, gosto de programação mais tenho muita dificuldade com banco de dados, algumas coisas consigo e outras tenho mais dificuldade como este caso que estou citando acima.
Vou tentar fazer a trigger.


Legal Francielle, eh bom fazer bastante teste mesmo para fica bem aprendido(nem sei se existi "aprendido"... rssrrsr).

Trigguers e Procedures sao muito utilizadas para atualizacao de dados etc.

Vale muito a pena aprender. rsrsr
Responder

16/10/2013

Alex Lekao

Oi Jefferson,

Para essa necessidade que ela estava mencionando nao seria melhor o uso da trigguer? que ela nao necessitaria de uma chamada, certo?

Nao tenho tanta pratica assim com essas coisas, nem sou programador... rsrsr
Responder

16/10/2013

Jefferson Santos

A trigger também é uma ótima opção, sem problemas.
Francielle em caso de duvidas em criação da trigger me avise que te auxilio.

Alex - FLWS
Responder

16/10/2013

Francielle Oliveira

Fiz da seguinte maneira, estou no caminho certo?

CREATE TRIGGER atualiza_tabela ON produto
FOR INSERT
AS
Begin
Insert into estoque (Cod_estoque,Nome_Produto,Qtde_Minima,Qtde_Estoque) values (´1,'Tesoura',1, 100´);
end;

Responder

16/10/2013

Alex Lekao

acredito que sim.

so que no insert talvez seja interessante vc colocar um select referente ao que vc acabou de inserir, se eh isto que vc esta intencionando.
Responder

16/10/2013

Jefferson Santos

Se lhe retornar o que você quer...
Está correto.
rs

Responder

17/10/2013

Francielle Oliveira

Vlw pessoal pela ajuda consegui...rsrs
Responder

17/10/2013

Jefferson Santos

Paciência e perseverança tem o efeito mágico de fazer as dificuldades desaparecerem e os obstáculos sumirem.
Responder

17/10/2013

Alex Lekao

legal...

Parabens!!!

Continue firme e forte!!!!

Gostei da "filosofada"... rssr
Responder

Assista grátis a nossa aula inaugural

Assitir aula

Saiba por que programar é uma questão de
sobrevivência e como aprender sem riscos

Assistir agora

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar