Fórum Como crio uma Procedure? #448404

11/07/2013

0

Estou tentando criar uma procedure simples e estou com o erro abaixo. Alguma dica? Grato pela atenção

CREATE SP_DELETE_TABELA (old_codigo varchar(10))
as
BEGIN
DELETE FROM TABELA1 GR WHERE GR.CODIGO = :OLD_CODIGO;
DELETE FROM TABELA2 GS WHERE GS.CODIGO = :OLD_CODIGO;

SUSPEND;
END;


Error Code: 1064. You habe an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near
Alessandro Yamasaki

Alessandro Yamasaki

Responder

Posts

11/07/2013

Joel Rodrigues

Acho que faltou mudar o delimiter. Veja nesse artigo: [url]http://www.linhadecodigo.com.br/artigo/3591/mysql-basico-stored-procedures.aspx[/url]
Responder

Gostei + 0

11/07/2013

Mariana Carvalho

me metendo aqui, Joel, o MySQL, vale a pena aprender? mexer somente com ele, tem futuro? rsrsrsrs
Responder

Gostei + 0

12/07/2013

Alessandro Yamasaki


Bom Dia

Agradeço a atenção, mas a minha solução foi resolvida com a lista de parâmetros entre parênteses e sem o ":" no SQL

IN : parâmetros de entrada;
OUT : parâmetros de saída;
INOUT : parâmetros de entrada e saída.


CREATE SP_DELETE_TABELA (IN old_codigo varchar(10))
as
BEGIN
DELETE FROM TABELA1 WHERE CODIGO = old_codigo;
END;

Fonte: http://www.rissuto.com.br/mysql/mysql13.html

Pode encerrar o tópico.

Att

Alessandro
Responder

Gostei + 0

12/07/2013

William

Que bom que achou a solução, vou encerrar o tópico!!

me metendo aqui, Joel, o MySQL, vale a pena aprender? mexer somente com ele, tem futuro? rsrsrsrs

Quanto a dúvida da Mariana, quem trabalha com aplicações WEB ligadas a banco de dados sabe que 90% dos servidores de hospedagem oferecem várias opções de SGBDs mas em comum semrpe MySQL. Além das versõe mais recentes 5.5 e 5.6 terem evoluído muito, então recomendo esse aprendizado não como único, mas sim como conhecimento agregado entre vários SGBDs.
Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar