Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

T.Benichio

Funcões em MySQL

Recommended Posts

Bom dia pessoas!

 

Já briguei um dia inteiro com isso e não dei conta...

Trabalho com banco SQL Server, e agora estou tendo que fazer coisas com banco MySQL por conta de um site que uma empresa terceirizada desenvolveu para a empresa.

E ponto é o seguinte: "Funções"

Eu queria criar uma função que me desse a maior data referente à um código.

Em SQL Server, ficaria assim:

 

CREATE FUNCTION DBO.MAIOR_DATA (@CODIGO INT)
RETURNS DATETIME
AS
BEGIN
DECLARE @DATA DATETIME
SELECT @DATA = MAX(DATA) FROM TABELA WHERE CODIGO = @CODIGO
RETURN @DATA
END

 

Como faço isso em MySQL? Tudo que eu faço dá erro...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá T.Benichio,

 

No MySQL você terá que setar a variável declarada para receber o valor do select, seria mais ou menos assim:

 

BEGIN
DECLARE @DATA DATETIME;
SET @DATA = (SELECT MAX(DATA) FROM TABELA WHERE CODIGO = @CODIGO);
RETURN @DATA

 

Espero ter lhe sido útil, abraços.

 

_ _

Fabiano Abreu

Papo Sql - Um blog com tutoriais, dicas e truques sobre SQL

Compartilhar este post


Link para o post
Compartilhar em outros sites

Fabiano,

 

Eu não testei o que você colocou, antes de ver sua resposta um outro cara aqui conseguiu fazer, ficou assim e funcionou:

 

CREATE DEFINER=`usr_bns_vdn_001`@`%` FUNCTION `Ult_Contato`(p_idNgc int) RETURNS datetime
BEGIN
   DECLARE h_UltCtt DATETIME;
   SELECT max(ctt_dhreg) INTO h_UltCtt FROM bsvntctt WHERE ctt_idngc = p_idNgc;
   RETURN h_UltCtt ;
END

 

Mas mesmo assim, obrigado pela resposta!

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.