0

我将以下 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;

我也需要使用递归函数编写相同的循环。

帮助赞赏

4

0 回答 0