drop PROCEDURE if EXISTS get_directory_name_by_sequence;
DELIMITER $
CREATE PROCEDURE get_directory_name_by_sequence(IN seriesInstanceUid varchar(100))
BEGIN
declare parentId0 bigint(20) unsigned;
declare parentId1 bigint(20) unsigned;
declare parentId2 bigint(20) unsigned;
declare parentId3 bigint(20) unsigned;
declare parentId4 bigint(20) unsigned;
declare parentId5 bigint(20) unsigned;
declare name1 varchar(60);
declare name2 varchar(60);
declare name3 varchar(60);
declare name4 varchar(60);
declare name5 varchar(60);
select d.parent_id into parentId0 from data_structure_info d where d.project_id = 505699593489616896 and d.series_instance_uid = seriesInstanceUid group by parent_id;
select d.original_name, d.parent_id into name1, parentId1 from data_structure_info d where d.id = parentId0;
select d.original_name, d.parent_id into name2, parentId2 from data_structure_info d where d.id = parentId1;
select d.original_name, d.parent_id into name3, parentId3 from data_structure_info d where d.id = parentId2;
select d.original_name, d.parent_id into name4, parentId4 from data_structure_info d where d.id = parentId3;
select d.original_name, d.parent_id into name5, parentId5 from data_structure_info d where d.id = parentId4;
select concat(name5," -> ",name4," -> ",name3," -> ",name2," -> ",name1) as file_path;
END $
DELIMITER;
call get_directory_name_by_sequence('1147597041594');
一个简单的存储过程,每次查询结果都作为下次查询的条件
于 2023-05-26 18:30:57 首次发布