SóProvas


ID
1469830
Banca
CETAP
Órgão
MPC-PA
Ano
2015
Provas
Disciplina
Banco de Dados
Assuntos

Um stored procedure em MySQL pode ter parametros IN, OUT e INOUT. Uma função somente tern parametros:

Alternativas
Comentários
  • Questão deveria ser anulada.

    Nenhuma das opções se enquadram em relação aos tipos de parametros utilizados por uma função no MySQL.

    Função no MYSQL utiliza o nome do parametro e seu tipo.

     

    CREATE [DEFINER = { user | CURRENT_USER }]

    FUNCTION sp_name ([func_parameter[,...]])

    RETURNS type [characteristic ...] routine_body

     

    func_parameter: param_name type

     

    https://dev.mysql.com/doc/refman/5.7/en/create-procedure.html

  • O tipo dos parametros de uma função é QUALQUER TIPO VALIDO NO MYSQL. Mas estes são considerados do tipo IN. Vejam:

     

    Stored Procedure:

     

    CREATE [DEFINER = { user | CURRENT_USER }] PROCEDURE sp_name ([proc_parameter[,...]]) [characteristic ...] routine_body

     

    proc_parameter: [ IN | OUT | INOUT ] param_name type

     

    Function:

     

    CREATE [DEFINER = { user | CURRENT_USER }] FUNCTION sp_name ([func_parameter[,...]]) RETURNS type [characteristic ...] routine_body

     

    func_parameter: param_name type

    type: Any valid MySQL data type

     

     

    Na documentação temos a seguinte nota:

     

    Note

    Specifying a parameter as IN, OUT, or INOUT is valid only for a PROCEDURE. For a FUNCTION, parameters are always regarded as IN parameters.

     

    https://dev.mysql.com/doc/refman/5.7/en/create-procedure.html