SóProvas


ID
515788
Banca
FCC
Órgão
INFRAERO
Ano
2011
Provas
Disciplina
Banco de Dados
Assuntos

Na passagem de parâmetros para Procedures e Funções em PL/SQL, o tipo de parâmetro que tem por objetivo enviar valores para as stored procedures é:

Alternativas
Comentários
  • Em PL/SQL os parametros das STORED PROCEDURES são IN, OUT e IN OUT.

    Exemplo

    CREATE PROCEDURE Adicionar( i IN Number) AS

            INSERT INTO T2 VALUES(  i  );

    END Adicionar
  • Parâmetros do tipo IN: são recebidos pela procedure
     
    Parâmetros do tipo OUT: são retornados da procedure e recebidos pelo ambiente chamador (Forms, Report, PL/SQL e outros subprogramas)
     
    Parâmetros do tipo IN OUT: são recebidos pela procedure e retornados/recebidos pelo ambiente chamador.
     

    OBS.: Parâmetros do tipo IN: Passagem de parâmetro POR VALOR
     
    Parâmetros do tipo OUT e IN OUT: Passagem de parâmetro POR REFERÊNCIA
     
     
    Fonte: Dominando o Oracle 9i: modelagem e desenvolvimento
  • As bancas gostam de confundir o tipo de parâmetro com o modo de parâmetro. Fiquem atentos a essa diferença e não esqueçam que elas confundem mesmo. Tem inclusive uma questão da CESPE que diz:

    CESPE: Em PL/SQL, parâmetros cujo tipo não esteja explicitamente declarado são considerados como do tipo IN. (GABARITO: CORRETO)

    Apesar de a CESPE marcar como correto pois o comportamento existe, o que deixou de ser especificado foi o modo e não o tipo (tipo seria VARCHAR(2), INTEGER, BOOLEAN, etc.).

    Segundo NAVATHE:

    "Em geral, cada parâmetro deve ter um tipo de parâmetro, o qual é um dos tipos de dados da SQL. Cada parâmetro também deve ter um modo de parâmetro, que é um dentre IN, OUT, ou INOUT. Estes correspondem a parâmetros cujos valores são apenas de entrada, apenas de saída (retornados) ou de entrada e saída, respectivamente."