Boa tarde.
Se possível gostaria de uma ajuda com relação a retorno de valor DEFAULT definido nas variávies de entrada de uma procedure.
Segue abaixo um exemplo onde foi definido um valor DEFAULT para as variáveis p_valor2, p_valor3, p_valor4.
A dúvida é quando eu executo a procedure passando NULL, neste caso teria que assumir o valor DEFAULT mas não é o que está acontecendo.
Exemplo da criação da procedure:
CREATE OR REPLACE
PROCEDURE proc_teste
(
p_valor1 IN CHAR,
p_valor2 IN CHAR DEFAULT ‘B’,
p_valor3 IN CHAR DEFAULT ‘C’,
p_valor4 IN CHAR DEFAULT ‘D’,
p_valor5 IN CHAR)
IS
BEGIN
dbms_output.PUT_LINE(‘p_valor1=’ || p_valor1);
dbms_output.PUT_LINE(‘p_valor2=’ || p_valor2);
dbms_output.PUT_LINE(‘p_valor3=’ || p_valor3);
dbms_output.PUT_LINE(‘p_valor4=’ || p_valor4);
dbms_output.PUT_LINE(‘p_valor5=’ || p_valor5);
END;
Executando a procedure:
DECLARE
P_VALOR1 CHAR(200);
P_VALOR2 CHAR(200);
P_VALOR3 CHAR(200);
P_VALOR4 CHAR(200);
P_VALOR5 CHAR(200);
BEGIN
PROC_TESTE(
P_VALOR1 => P_VALOR1,
P_VALOR2 => P_VALOR2,
P_VALOR3 => P_VALOR3,
P_VALOR4 => P_VALOR4,
P_VALOR5 => P_VALOR5
);
END;
Retorno da procedure:
p_valor1=
p_valor2=
p_valor3=
p_valor4=
p_valor5=
Processo encerrado.
Existe algum tratamento específico para que retorne o valor DEFAULT definido na procedure?
At.
Marco