Ajuda com procedure

1 resposta
M

Alguém pode me ajudar a ver onde estou errando na sintaxe?

DELIMITER //

CREATE PROCEDURE DATA_HORA_VENDA (data_insercao date, hora time)

BEGIN

declare maximo = MAX(codigo_venda)from venda;

UPDATE venda SET data_insercao = CURDATE(), hora = CURTIME()

WHERE codigo_venda =maximo;

END //

DELIMITER;

1 Resposta

TerraSkilll

Para qual banco de dados é isso?
Qual a mensagem de erro ao tentar compilar?

Salvo engano, seu declare deve ser antes do begin, e a seleção do valor máximo deve ser separada da declaração da variável maximo. Algo mais ou menos assim:

DELIMITER //
CREATE PROCEDURE DATA_HORA_VENDA ('data_insercao' date, 'hora' time)
DECLARE 
maximo number;
BEGIN
select MAX(codigo_venda) into :maximo from venda;
UPDATE venda SET data_insercao = CURDATE(), hora = CURTIME()
WHERE codigo_venda =maximo;
END //
DELIMITER;

Abraço.

Criado 26 de maio de 2016
Ultima resposta 27 de mai. de 2016
Respostas 1
Participantes 2