Alguém pode me ajudar? Estou cria do uma função com o uso do BEGIN, porém da erro de sintaxe.
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,'!');
|
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 é ele que bão consigo fazer rodar.
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;
|
entendi, mas queria utilizar o BEGIN e o AND, n sei pq ele n aceitou a sintaxe
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!
Obrigadooooo cara, sim vou dar uma lida, deu certo aqui, agora entendi o pq hsuhsasa, vou dar uma lida sim
vc indica algum material que você conhece ou algo?
O livro MySQL da casa do código eu recomendo, ótimo material!
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