Como crio uma Procedure?

MySQL

11/07/2013

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

Curtidas 0

Respostas

Joel Rodrigues

Joel Rodrigues

11/07/2013

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

Mariana Carvalho

11/07/2013

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

Alessandro Yamasaki

11/07/2013


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
GOSTEI 0
William

William

11/07/2013

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.
GOSTEI 0
POSTAR