1
resposta

Dúvidas entre IN e OUT

Olá! Não ficou claro qual a diferença entre o IN e o OUT Alguém poderia me explicar por gentileza?

1 resposta

Olá Felipe, tudo bem?

No Oracle, existem 3 tipos de parâmetros para uma procedure, IN , OUT e IN OUT:

  • Parâmetros IN: Ao utilizar o IN, estamos especificando que deve ser passado um valor para aquele parâmetro ao chamar a procedure, ou seja, passamos um valor para o parâmetro para que a procedure seja executada.

Como por exemplo, para executar a procedure formata_cnpj, precisamos passar um CNPJ para o parâmetro p_CNPJ ao chamar a procedure

  • Parâmetros OUT: Ao utilizar o OUT, estamos especificando que ao chamar a procedure o valor passado para aquele parâmetro será retornado, ou seja,não passamos um valor para o parâmetro ao chamar a procedure, o valor será passado para esse parâmetro durante a execução e será retornado para o usuário.

Como por exemplo, para executar a procedure formata_cnpj, o valor do CNPJ formado foi passado para a variável p_CNPJ_SAIDA, para que fosse retornado ao usuário.

  • Parâmetros IN OUT: Ao utilizar o IN OUT, estamos especificando que aquele parâmetro deve receber um valor e que um valor pode ser retornado pelo parâmetro, ou seja, não seria necessário criar dois parâmetros, pois poderiamos utilizar o mesmo para receber o valor e retornar o valor após a execução da procedure.

Quando não é especificado nenhum dos três tipos, por padrão o Parâmetro é do tipo IN.

Espero ter ajudado e bons estudos!