1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 |
/* Pregunta 3 Realizar una función pregunta3 que calcule y devuelva el importe total de un pedido que se le pase como parámetro. La función devolverá -1 si no existe el pedido pasado como argumento. */ delimiter $$ drop function if exists 2x03 $$ create function 2x03(ped int) returns double begin if (select true from pedidos where num_pedido = ped) then return ( select sum(a.precio_unidad * d.unidades) from articulos a, detalle_pedidos d where a.cod_articulo = d.cod_articulo and d.cod_pedido = ped )- ( select descuento from pedidos where num_pedido = ped ); else return -1; end if; end $$ delimiter ; -- select 2x03(43) as 'Total'; |