Clarkson/flyway/sql/V1.8__Create_Procedure_User_DeleteById.sql
2018-02-10 17:53:54 +00:00

54 lines
874 B
SQL

DELIMITER $$
CREATE PROCEDURE `User_DeleteById`
(
in_userId VARCHAR(36)
)
BEGIN
DECLARE EXIT HANDLER FOR SQLEXCEPTION
BEGIN
ROLLBACK;
SELECT 1 AS `status`;
END;
START TRANSACTION;
DELETE
C
FROM
`Costs` AS C
INNER JOIN
`Vehicles` AS V ON V.`id` = C.`vehicle`
WHERE
V.`user` = in_userId;
DELETE
F
FROM
`Fuel` AS F
INNER JOIN
`Vehicles` AS V ON V.`id` = F.`vehicle`
WHERE
V.`user` = in_userId;
DELETE
V
FROM
`Vehicles` AS V
WHERE
V.`user`= in_userId;
DELETE
U
FROM
`Users` AS U
WHERE
U.`id`= in_userId;
SELECT 0 AS `status`;
COMMIT;
END$$