STORED PROCEDURE EM MYSQL 5.0.22

ESLEYSANCHES 15/12/2006 03:11:00
#190093
Olá a todos, estou utilizando o MySQL 5, sempre gostei do MySQL, já sabia que ele tem suporte a Stored ... hoje surgiu a necessidade de usar essa tecnologia dele ... mais como eu utilizo ? Estou usando o MySQL-Front (Tenho tbm o MySQL Administrator) mais o código para criar a procedure está dando erro, será que há mudanças na criação de procedures em MySQL ? Gostaria de aprender via código SQL e não direto no Front-End do MySQL !!

CREATE PROCEDURE Filtra @Sobrenome char(40)
AS
SELECT * FROM Cadastro WHERE Sobrenome=@Sobrenome
GO


ਠsimples, apenas localiza todos os sobrenomes com o que foi digitado !! Mais da erro se tento criar uma, como crio alguém saberia me explicar ?

Em SQL Server o mesmo funciona ...

Abraços a todos !!
USUARIO.EXCLUIDOS 15/12/2006 03:40:02
#190094
Por favor, especifique o erro por que tenho uma série de opções como por exemplo se já não está criada ae teriamos que utilizar um if existis DROP PROCEDURE etc.

Outra coisa, talvez sua instrução SQL precise usar o operador LIKE ao invez de =
(TALVEZ)
USUARIO.EXCLUIDOS 15/12/2006 08:43:44
#190107
Olha um exemplo que fica mais fácil:

 

DELIMITER $$

DROP PROCEDURE IF EXISTS 'dbdados'.'SP_PAC_CON0002' $$
CREATE PROCEDURE 'dbdados'.'SP_PAC_CON0002'(pPacID integer)
BEGIN
SELECT * FROM TabPaciente WHERE PacID = pPacID;
END $$

DELIMITER ;



Detalhe: Vc TEM QUE terminar com ;
ESLEYSANCHES 15/12/2006 12:39:25
#190169
Emerson, eu até sei isso mais não sei como poderia começar a criar, e esse DELIMITER $$ para que serve isso ANDRE, se sabe cara ?

Abraços e obrigadão !!
ESLEYSANCHES 15/12/2006 12:50:34
#190174
Noosaa !! Ocorreu um erro, deem uma olhadinha no código em MySQL-Front que deu erro !!

Abraços !!
ESLEYSANCHES 18/12/2006 19:47:33
#190748
?? Alguém ??

MORDOR 18/12/2006 20:13:42
#190751
Resposta escolhida
Você está nomeando a procedure incorretamente. Faça assim.

CREATE PROCEDURE 'esley'.'filtro'(NNome char)
BEGIN
SELECT * FROM cadastro WHERE Nome = NNome;
END;
ESLEYSANCHES 18/12/2006 23:34:02
#190754
Ok, vou dar uma olhadinha e já retorno :-D !!

Obrigado desde já !!
ESLEYSANCHES 18/12/2006 23:38:31
#190755
Opa, legal MORDOR, Alterei as apas, pois com aspas não funcionou, funcionou assim:

CREATE PROCEDURE esley.filtro(NNome char)
BEGIN
SELECT * FROM cadastro WHERE Nome = NNome;
END;


Ó“timo, obrigadão já é meio caminho andado ... agora como eu executo ela ? se sabe ? será que é o mesmo procedimento que em SQL Server ?

EXECUTE Filtro valor 


Abraços !!
MORDOR 18/12/2006 23:49:05
#190756
Se for no Sql Editor pode executar pela função CALL.

CALL filtro("nome");
ESLEYSANCHES 19/12/2006 00:18:17
#190757
Atá, pelo SQL Editor OK, sem problemas mais e se for via VB ?

Abraços !!
Página 1 de 2 [15 registro(s)]
Tópico encerrado , respostas não são mais permitidas