1
resposta

Resolução da atividade

Simulado

Temos a tabela PRODUTO_VENDA_EXERCICIO, que ainda não teve dados incluídos nela.

Faça uma procedure, chamada INCLUINDO_DADOS_VENDA, para incluir linhas nesta tabela. Os parâmetros, por enquanto, serão todos os campos da tabela.

Teste a procedure com o seguinte dado:

ID: 1 COD_PRODUTO: 41232 DATA: 1/1/2022 QUANTIDADE: 100 PRECO: 10 VALOR: 1000 IMPOSTO: 10

1º Criar a tabela PRODUTO_VENDA_EXERCICIO

CREATE TABLE PRODUTO_VENDA_EXERCICIO
(
ID NUMBER(10) NOT NULL,
COD_PRODUTO NUMBER(100),
DATA DATE,
QUANTIDADE NUMBER(20),
PRECO FLOAT,
VALOR NUMBER,
IMPOSTO NUMBER,
PRIMARY KEY(ID)
);

2º Criar a FOREIGN KEY

ALTER TABLE PRODUTO_VENDA_EXERCICIO ADD CONSTRAINT FK_PRODUTO FOREIGN KEY(COD_PRODUTO) REFERENCES PRODUTO_EXERCICIO(COD);

3º Criar a PROCEDURE

CREATE OR REPLACE PROCEDURE INCLUIR_PRODUTO(
p_ID PRODUTO_VENDA_EXERCICIO.ID%TYPE,
p_COD PRODUTO_VENDA_EXERCICIO.COD_PRODUTO%TYPE,
p_DATA PRODUTO_VENDA_EXERCICIO.DATA%TYPE,
p_QUANTIDADE PRODUTO_VENDA_EXERCICIO.QUANTIDADE%TYPE,
p_PRECO PRODUTO_VENDA_EXERCICIO.PRECO%TYPE,
p_VALOR PRODUTO_VENDA_EXERCICIO.VALOR%TYPE,
p_IMPOSTO PRODUTO_VENDA_EXERCICIO.IMPOSTO%TYPE)

IS
BEGIN
    INSERT INTO PRODUTO_VENDA_EXERCICIO 
    VALUES(p_ID, p_COD, TO_DATE(p_DATA,'DD/MM/YYYY'), p_QUANTIDADE, p_PRECO, p_VALOR, p_IMPOSTO);
    COMMIT;
END;

4º EXECUTAR a Procedure e incluir os registros.

EXECUTE INCLUIR_PRODUTO(1,41232,'01/01/2022',100,10,1000,10);
SELECT * FROM PRODUTO_VENDA_EXERCICIO;
1 resposta

Olá Felipe, tudo bem?

Desde já peço desculpas pela demora em obter retorno.

Analisei a procedure e ela está correta, parabéns!

Felipe, continue com essa dedicação aos estudos para consolidar os conhecimentos adquiridos.

Caso surja alguma dúvida, compartilhe no fórum.

Abraços e até mais!