Mercurial > hg > orthanc-databases
comparison MySQL/Plugins/DeleteResources.sql @ 455:d0dd95ff0662 improve-delete
move temp table creation out of the procedure
author | Alain Mazy <am@osimis.io> |
---|---|
date | Mon, 22 Jan 2024 12:27:42 +0100 |
parents | 95c413106a66 |
children |
comparison
equal
deleted
inserted
replaced
454:f4244c7e2725 | 455:d0dd95ff0662 |
---|---|
8 DECLARE done INT DEFAULT FALSE@ | 8 DECLARE done INT DEFAULT FALSE@ |
9 DECLARE cur1 CURSOR FOR | 9 DECLARE cur1 CURSOR FOR |
10 SELECT internalId FROM DeletedResources@ | 10 SELECT internalId FROM DeletedResources@ |
11 DECLARE CONTINUE HANDLER FOR SQLSTATE '02000' SET done = TRUE@ | 11 DECLARE CONTINUE HANDLER FOR SQLSTATE '02000' SET done = TRUE@ |
12 set done=FALSE@ | 12 set done=FALSE@ |
13 -- Create a CTE to hold the temporary data ??? | |
14 -- WITH DeletedResources AS ( | |
15 -- SELECT internalId, resourceType, publicId | |
16 -- FROM Resources | |
17 -- ) | |
18 | |
19 CREATE TEMPORARY TABLE DeletedResources SELECT * FROM ( | |
20 SELECT internalId, resourceType, publicId FROM Resources WHERE internalId=p_id OR parentId=p_id | |
21 OR parentId IN (SELECT internalId FROM Resources WHERE parentId=p_id) | |
22 OR parentId IN (SELECT internalId FROM Resources WHERE parentId IN (SELECT internalId FROM Resources WHERE parentId=p_id))) AS t@ | |
23 | 13 |
24 OPEN cur1@ | 14 OPEN cur1@ |
25 REPEAT | 15 REPEAT |
26 FETCH cur1 INTO v_internalId@ | 16 FETCH cur1 INTO v_internalId@ |
27 IF NOT done THEN | 17 IF NOT done THEN |