Boa tarde , fiz uma tabela numq com 3 valores numbers , n1, n2 e n3 . Que são três número onde n3 vai ser a soma de n1 com n2.
Primeiro fiz a function para receber n1 :
create or replace function n1 (f_n1 numq.n1%type)
return numq.n1%type
is
begin
insert into numq (n1) values (f_n1);
return f_n1;
end;
`
Agora a procedure para chamar a função e somar
create or replace procedure somaq (p_n1 in numq.n1%type , p_n2 in numq.n2%type)
is
p_n3 numq.n3%type;
chamaf numq.n1%type; -- variavel para receber o valor da function
begin
chamaf := n1(p_n1);
p_n3 := chamaf + p_n2;
insert into numq (n1,n2,n3) values (chamaf , p_n2 , p_n3);
end;
Quando dou o select :
execute somaq (1,1)
select * from numq
n1 n2 n3
1 null null
1 1 2
`
pq ele cria duas linhas ? uma com dois valores null e outra certa ?
Obrigado
Rafa