SINTAXE BEGIN MySQL ERROR

9 respostas
mysql
Pablo_Ribeiro_Moreir

Alguém pode me ajudar? Estou cria do uma função com o uso do BEGIN, porém da erro de sintaxe.

9 Respostas

Jonathan_Medeiros

Sua função retorna um valor mas não possuí tipo de retorno!

Exemplo:

delimiter |
CREATE FUNCTION dizerOi(nome CHAR(50)) RETURNS CHAR(50)
RETURN CONCAT('Oi, ',nome,'!');
|
Pablo_Ribeiro_Moreir

Dscp mas n entendi, o tipo que coloquei foi o DECIMAL, quando coloco o tipo no retorno n acontece nada, a sintaxe apontada como errada está no comando BEGIN :confused: é ele que bão consigo fazer rodar.

Jonathan_Medeiros

se eu entendi direito o que você quis dizer basta acrescentar um parêntese que falta pra fechar os parâmetros informados!

CREATE FUNCTION aumenta_preco(preco DECIMAL(10,2), taxa DECIMAL(10,2) *)*

O Exemplo que te passei acima era algo como o exemplo abaixo, sem a necessidade de utilizar BEGIN, END:

delimiter |
CREATE FUNCTION aumenta_preco(preco DECIMAL(10,2), taxa DECIMAL(10,2)) RETURNS DECIMAL(10,2)`
RETURN preco + preco * taxa / 100;
|
Pablo_Ribeiro_Moreir

entendi, mas queria utilizar o BEGIN e o AND, n sei pq ele n aceitou a sintaxe :confused:

Jonathan_Medeiros

Eu te dei a resposta do porque sua sintaxe não foi aceita, acredito que você não tenha lido direito!
Releia a minha resposta acima você vai perceber que eu indiquei onde está faltando um parêntese na sua função, marcado entre dois asteriscos, e logicamente também faltando o tipo de retorno da função, pois: (QUANDO SE USA O COMANDO RETURN, ISSO INDICA QUE A FUNÇÃO RETORNARÁ ALGUM VALOR, LOGO A MESMA DEVE POSSUIR UM TIPO DE RETORNO)!

Recomendo você dar uma boa lida em materiais na internet sobre os conceitos da estrutura de functions de forma geral e também dentro do MySQL, isso vai te ajudar a compreender melhor o que te disse a respeito do BEGIN/END e RETURN!

Pablo_Ribeiro_Moreir

Obrigadooooo cara, sim vou dar uma lida, deu certo aqui, agora entendi o pq hsuhsasa, vou dar uma lida sim

Pablo_Ribeiro_Moreir

vc indica algum material que você conhece ou algo?

Jonathan_Medeiros

O livro MySQL da casa do código eu recomendo, ótimo material!

Pablo_Ribeiro_Moreir

Jonathan obrigado pela dicam você sabe de algum material para eu chegar no nível avançado?Não ficar só em consultas e em funções? Algo a mais como administrar um banco de dados mesmo, pq saber os comandos só não resolve pra ser um DBA né, precisa saber muito mais

Criado 11 de julho de 2017
Ultima resposta 14 de jul. de 2017
Respostas 9
Participantes 2