Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

MySQL disse:#1415 - Não é permitido retornar um conjunto de resultados de uma função


A mensagem de erro neste caso informa a parte mais importante:

Esse comportamento é consistente com o que está documentado no manual do MySQL sobre procedimentos e funções armazenados:

Você atribui valores ao seu @Pn variáveis ​​usando instruções select que retornam um conjunto de resultados e isso não é permitido em uma função. Você precisa remover essas instruções do seu código. RETURN river retorna um resultado valor , mas não um resultado definido .

Também estou preocupado que você use variáveis ​​de sessão (variáveis ​​definidas como @variable_name) que são compartilhadas em uma conexão, portanto, potencialmente, várias chamadas para a mesma função ao mesmo tempo em uma conexão podem interferir umas nas outras.

Uma função armazenada deve retornar apenas um único valor como sua saída com o return declaração. Qualquer outra coisa é considerada um efeito colateral. Se você quiser que seu script MySQL preencha várias variáveis, você deve usar um procedimento armazenado, você não pode usar uma função armazenada.