DELIMITER $$
USE `mhmoever1_db2`$$
DROP PROCEDURE IF EXISTS `actie_get`$$
CREATE DEFINER=`mhmoever1`@`%` PROCEDURE `actie_get`(
sort_by VARCHAR(45),
asc_desc INT,
include_afgerond INT
)
BEGIN
CASE sort_by
WHEN 'Actiestatus' THEN SELECT * FROM acties WHERE afgerond = include_afgerond ORDER BY actiestatus_id DESC;
WHEN 'Omgeving' THEN SELECT * FROM acties WHERE afgerond = include_afgerond ORDER BY omgeving_id DESC;
WHEN 'Project' THEN SELECT * FROM acties WHERE afgerond = include_afgerond ORDER BY project_id DESC;
WHEN 'Gedelegeerd aan' THEN SELECT * FROM acties WHERE afgerond = include_afgerond ORDER BY gedelegeerd_aan DESC;
WHEN 'Datum actie' THEN SELECT * FROM acties WHERE afgerond = include_afgerond ORDER BY actie.datum_actie ASC;
ELSE SELECT * FROM acties WHERE afgerond = include_afgerond ORDER BY datum_aangepast DESC;
END CASE;
END$$
DELIMITER ;
Maar nu willen we dat de derde parameter 'asc_desc' aangeeft of de resultaten ascending of descending worden weergegeven. Dus 'ASC' of 'DESC' moet afhankelijk van die parameter worden geplaatst, hoe doen we dat zonder elke statement dubbel te hebben?