Codigo SQL
Casos: Codigo SQL. Pesquise 862.000+ trabalhos acadêmicosPor: lalves • 18/9/2014 • 233 Palavras (1 Páginas) • 470 Visualizações
Procedure ret_comissao_funcionario
create or replace ret_comissao_funcionario( p_codigo in number,
p_mes in number,
p_ano in number
)
is
curso c_comi(cp_codigo in number) in
select f.nome,
f.comicao,
v.valortotal
from funcionario f,
venda v
where f.id_funcionario = v.funcionario_venda
and to_char(v.date,'mm/yyyy') = to_char(p_mes)||'/'to_char(p_ano)
and f.id_funcionario = nvl(cp_codigo,f.id_funcionario);
v_comicao number;
begin
if p_codigo = 0 then
for r_comi in c_comi(null)
loop
v_comicao := r_comi.valortotal * comicao;
dbms_output.put_line('Nome: '||r_comi||' Comissão:'||v_comicao);
end loop;
else
for r_comi in c_comi(p_codigo )
loop
v_comicao := r_comi.valortotal * comicao;
dbms_output.put_line('Nome: '||r_comi||' Comissão: '||v_comicao);
end loop;
end if;
end;
procedure inc_item_venda
create or replace procedure inc_item_venda(p_cod_venda number,
p_cod_produto number,
p_qtd number,
p_valor_uni number,
p_tipo_desconto VARCHAR2,
p_valor_desconto number) is
v_valor number;
v_valor_desconto number;
begin
if p_tipo_desconto = 'v' then
v_valor := (p_valor_uni * p_qtd) - p_valor_desconto;
v_valor_desconto := p_valor_desconto;
elsif p_tipo_desconto = 'P' thenv_valor_desconto := (p_valor_uni * p_qtd) * (p_valor_desconto / 100);
v_valor := (p_valor_uni * p_qtd) - v_valor_desconto;
else
raise_appication_error(-20100, 'Valor inesistente');
end if;
begin
insert into itemvenda
(iditemvenda,
venda_itemvenda,
produto_itemvenda,
qtd,
valorunitario,
valordesconto,
valortotal)
values
(seq_itemvenda.nextvall,
p_cod_venda,
p_cod_produto,
p_qtd,
p_valor_uni,
v_valor_desconto,
v_valor);
exception
when others then
raise_appication_error(-20100, 'Erro ao inserir item de venda');
end;
commit;
end;
---------------------
Procedure ret_comissao_funcionario
create or replace ret_comissao_funcionario( p_codigo in number,
p_mes in number,
p_ano in number
)
is
curso c_comi(cp_codigo in number) in
select f.nome,
f.comicao,
v.valortotal
from funcionario f,
venda v
where f.id_funcionario = v.funcionario_venda
and to_char(v.date,'mm/yyyy') = to_char(p_mes)||'/'to_char(p_ano)
...