Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Parâmetro IN e OUT

Por que o parâmetro in pode ser atribuído a outra variável dentro de uma procedure e o parâmetro out não?

1 resposta
solução!

Olá, Andressa! Entendo que a diferença entre os parâmetros IN e OUT possa causar um pouco de confusão no início, mas vou tentar esclarecer isso para você.

Os parâmetros IN e OUT são usados em procedures e funções PL/SQL para passar valores de e para a procedure. A principal diferença entre eles é a direção do fluxo de dados.

O parâmetro IN é usado para enviar valores para a procedure. Esses valores são somente leitura dentro da procedure, o que significa que você pode usá-los para fazer cálculos ou atribuí-los a outras variáveis, mas você não pode alterar o valor do parâmetro IN em si.

Por outro lado, o parâmetro OUT é usado para retornar valores da procedure. Você pode alterar o valor de um parâmetro OUT dentro da procedure e esse novo valor será retornado quando a procedure for concluída. No entanto, você não pode usar um parâmetro OUT como parte de uma expressão ou atribuí-lo a outra variável dentro da procedure.

Por exemplo, considere a seguinte procedure:

CREATE OR REPLACE PROCEDURE exemplo(in_param IN NUMBER, out_param OUT NUMBER) IS
BEGIN
  out_param := in_param * 2;
END;

Neste caso, in_param é um parâmetro IN e out_param é um parâmetro OUT. A procedure recebe um número como in_param, multiplica por 2 e atribui o resultado a out_param. Você não pode, por exemplo, fazer out_param := out_param * 2; dentro da procedure, pois out_param não pode ser usado em uma expressão.

Espero ter ajudado e bons estudos!

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software