Deterministic | Data access | Mode |
---|---|---|
NO | MODIFIES SQL DATA |
Delete a singe document
CREATE DEFINER=`root`@`localhost` PROCEDURE `delete_single_document`(IN vDocumentNo INTEGER) MODIFIES SQL DATA COMMENT 'Delete a singe document' BEGIN /* TODO: does not remove contents, maybe corrupts tree! */ DECLARE vDocLft, vDocRgt INTEGER; SELECT Lft, Rgt INTO vDocLft, vDocRgt FROM document WHERE `No` = vDocumentNo; DELETE FROM document WHERE `No` = vDocumentNo; UPDATE document SET Lft = IF(Lft > vDocRgt, (Lft - 2), (Lft - 1)), `Level` = IF(Rgt < vDocRgt, (`Level` - 1), `Level`) WHERE Lft > vDocLft ORDER BY Lft ASC; UPDATE document SET Rgt = IF(Rgt > vDocRgt, (Rgt - 2), (Rgt - 1)) WHERE Rgt > vDocLft ORDER BY Rgt ASC; SET @tempdocpath=''; END