q ali o pessoal digita o tipo do produto que ele quer fazer "uma promoçao"
o numero é por quanto ele ira dividir o preço no caso de "Carnes"
preciso de ajuda esta dando erros e não sei como resolver.... irei postar minhas tabelas tmb obrigado
BEGIN
prc_TESTE3 ('Carnes',2);
END;
CREATE OR REPLACE PROCEDURE prc_teste3 (
prc_desctiposubproduto varchar(100),
prc_aux number(10)
)
IS
CURSOR CUR_tipo
IS
SELECT desctiposubproduto
FROM tiposubproduto
WHERE desctiposubproduto= PRC_desctiposubproduto;
V_tipo varchar2(100);
CURSOR CUR_calculo
IS
SELECT preço
FROM produtopreco
WHERE preço= PRC_aux;
V_calculo number(10);
BEGIN
for x in CUR_tipo
loop
V_tipo := x.desctiposubproduto;
end loop;
for y in CUR_calculo
loop
V_calculo := x.preço;
end loop;
IF V_calculo <= 5
THEN
BEGIN
UPDATE produtopreco
SET preço := preço / prc_aux
WHERE preço= PRC_aux;
EXCEPTION
WHEN OTHERS THEN
raise_application_error('20000','Ocorreu erro ao ALTERAR o registro. Descricao do erro : '
);
END;
END IF;
END;
create table TipoProduto(
codTipoProduto number(3) not null,
descTipoProduto varchar(30) not null,
Constraint codTipoProduto primary key (codTipoProduto)
);
create table TipoSubProduto(
codTipoProduto number(3) not null,
codTipoSubProduto number(3) not null,
descTipoSubProduto varchar(40) not null,
Constraint codTipoSubProduto primary key (codTipoSubProduto,codTipoProduto),
Constraint codTipoProduto_fk1 foreign key (codTipoProduto)references TipoProduto(codTipoProduto)
);
create table Produto(
codProduto number(3) not null,
nomeProduto varchar(40) not null,
statusProduto varchar(40) not null,
descricaoProduto varchar(40) not null,
codTipoProduto number(3) not null,
codTipoSubProduto number(3) not null,
Constraint codProduto_pk primary key (codProduto),
Constraint Produto_fk foreign key (codTipoProduto, codTipoSubProduto) references tipoSubProduto(codTipoProduto, codTipoSubProduto)
);
create table Venda(
codVenda number(3) not null,
nomeComprador varchar(40) not null,
valorTotal number(3) not null,
Constraint Venda_pk primary key (codVenda)
);
create table Compra(
codCompra number(3) not null,
dataCompra date not null,
nomeFornecedor varchar(40) not null,
valorTotal number(3) not null,
Constraint Compra_pk primary key (codCompra)
);
create table Medida(
codMedida number(3) not null,
descMedida varchar(40) not null,
Constraint Medida_pk primary key (codMedida)
);
create table EstoqueSaida(
codVenda number(3) not null,
codProduto number(3) not null,
dataVenda date not null,
quantidade number(3) not null,
codMedida number(3) not null,
valor number(3) not null,
Constraint EstoqueSaida_pk primary key (codVenda, codProduto),
Constraint EstoqueSaida_fk1 foreign key (codVenda) references Venda(codVenda),
Constraint EstoqueSaida_fk2 foreign key (codProduto) references Produto(codProduto),
Constraint EstoqueSaida_fk3 foreign key (codMedida) references Medida(codMedida)
);
create table ProdutoPreco(
codProduto number(3)not null,
dataInicioPreco date not null,
dataFimPreco date not null,
codMedida number(3) not null,
preço number(3) not null,
Constraint ProdutoPreco_pk primary key (codProduto, dataInicioPreco),
Constraint ProdutoPreco_fk1 foreign key (codProduto) references produto(codProduto),
Constraint ProdutoPreco_fk2 foreign key (codMedida) references Medida(codMedida)
);
Create table EstoqueEntrada(
codCompra number(3) not null,
codProduto number(3) not null,
dataValidade date not null,
quantidade number(3) not null,
codMedida number(3) not null,
valorUnitario number(3) not null,
Constraint EstoqueEntrada_pk primary key (codCompra, codProduto),
Constraint EstoqueEntrada_fk1 foreign key (codCompra) references Compra(codCompra),
Constraint EstoqueEntrada_fk2 foreign key (codProduto) references Produto(codProduto),
Constraint EstoqueEntrada_fk3 foreign key (codMedida) references Medida(codMedida)
);