SINTAXE BEGIN MySQL ERROR

9 respostas
mysql
P

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

9 Respostas

J

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,'!');
|
P

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.

J

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;
|
P

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

J

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!

P

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

P

vc indica algum material que você conhece ou algo?

J

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

P

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