Ajuda com função, variável e calcular valor a partir da hora
Olá,
Estou tentando criar uma função que insira os dados em um recibo de estacionamento a partir do id de um comprovante, e dentro da função preciso de uma variável. Nunca fiz função nem usei variável, por isso pode ter coisa bem nd a ver no código. Está dando erro de sintaxe:
delimiter $
create procedure InsereDadosRecibo(idcomp int)
begin
(select * from Comprovante where Comprovante.IDComprovante = idcomp) as selecao;
@HoraSaida:= selecao.HoraEntrada + floor(2000 + (rand()*(20000-2000)));
insert into estacionamento.Recibo values(null,selecao.DataEntrada, selecao.HoraEntrada, @HoraSaida ,selecao.IDCategoria,selecao.PlacaCarro, (@HoraSaida - selecao.HoraEntrada));end
$
Tabela Comprovante:
+---------------+-------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+---------------+-------------+------+-----+---------+----------------+
| IDComprovante | int(11) | NO | PRI | NULL | auto_increment |
| IDCategoria | int(11) | NO | MUL | NULL | |
| PlacaCarro | varchar(45) | NO | MUL | NULL | |
| DataEntrada | date | NO | | NULL | |
| HoraEntrada | time | NO | | NULL | |
+---------------+-------------+------+-----+---------+----------------+
Tabela Recibo:
+-------------+-------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+-------------+-------------+------+-----+---------+----------------+
| IDRecibo | int(11) | NO | PRI | NULL | auto_increment |
| DataEntrada | date | NO | | NULL | |
| HoraEntrada | time | NO | | NULL | |
| HoraSaida | time | NO | | NULL | |
| IDCategoria | int(11) | NO | MUL | NULL | |
| PlacaCarro | varchar(45) | NO | MUL | NULL | |
| ValorPago | double | NO | | NULL | |
Estou com dúvida também em como calcular o valor pago. Cada categoria tem uma taxa que é cobrada a cada 30 min, não sei como fazer esse calculo no mysql.
Discussão (1)
Carregando comentários...