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;