我将以下 excel 存储在一个表中,我需要使用 tera 数据存储过程和 tera 数据中的递归函数来搜索一些模式。我写了一个查询,但它进入了一个无限循环。请在这件事上给予我帮助
Fruit_name Type Schedule
Orange Equal to Banana
pineapple Equal to Straberry
Banana Equal to Lichi
Lichi direct pineapple
所以基本上我将编写的脚本将从fruitname = Orange开始它检查列类型是否具有直接值如果不是第三列即安排将在水果名称中再次检查其中的值即香蕉将b第二次再次签入fruit_name 列,然后循环进行,直到第2 列的值为“direct”。所以在上面的例子中,循环将运行 3 次,当水果是荔枝时,循环停止。因为 lichi 的类型是直接的并且循环结束
下面是我写的程序
请帮我解决一下这个。
CREATE PROCEDURE fruit_name(OUT VAR5 Varchar(20))
BEGIN
DECLARE VAR_TYPE VARCHAR (20);
DECLARE VAR_TYPE1 VARCHAR (20);
DECLARE VAR_SCHEDULE VARCHAR (20);
select type into VAR_TYPE from test_table where fruit_name='Orange';
select SCHEDULE into VAR_SCHEDULE from test_table where fruit_name='Orange';
while(Type<>'Direct') do
BEGIN
select type into VAR_TYPE from test_table where fruie_name=VAR_SCHEDULE;
select schedule into VAR_TYPE1 from TSSC10W.test_table where
fruit_name=VAR_SCHEDULE;
set VAR_SCHEDULE=VAR_TYPE1;
END;
END while;
set VAR5=VAR_SCHEDULE;
END;
我也需要使用递归函数编写相同的循环。
帮助赞赏