0

我正在尝试在 HANA 中创建一个应该循环遍历表的存储过程。假设我有 3 列,ColumnA、ColumnB 和 ColumnC。在 ColumnA 中,我有我想要循环的标识符。在 ColumnB 中,我有相关的标识符,但在某些情况下,ColumnB 中的标识符可以与 ColumnA 中的相同。在 ColumnC 我有一个 COUNT。

所以表格看起来像:

ColumnA | ColumnB | ColumnC
0001    | 0002    | 0
0003    | 0004    | 0
0002    | 0005    | 6

该过程应遍历每一行并检查 ColumnC 以查看 ColumnC 中的值是否大于 0。如果不是,则从 ColumnB 中获取相关标识符,并在 ColumnA 中查找它。如果那里有一个大于 0 的值,则循环应该将该行插入到表中并中断。

任何建议都会很有用,除了程序之外,我也愿意使用不同的方法。

4

1 回答 1

0
BEGIN
DECLARE V_NO INT;

DECLARE LV_LOOP INT;


SELECT count(*) INTO V_NO FROM "YOURTABLE";

FOR LV_LOOP IN 1..:V_NO DO

  SELECT "COLUMNC" INTO LV_COLUMNC FROM "YOURTABLE";

  IF :LV_COLUMNC > 0 THEN

    INSERT INTO "YOURTABLE1" VALUES (.....);

  ELSE
   SELECT "COLUMNB" INTO LV_COLUMNB FROM "YOURTABLE";
   SELECT "COLUMNA" INTO LV_COLUMNA FROM "YOURTABLE";
    IF :LV_COLUMNB = :LV_COLUMNA THEN
     SELECT 'PASS' FROM DUMMY;
    END IF;
  END IF;
END FOR;

END;

请让我知道它是否解决了您的问题。

于 2020-07-29T05:06:09.810 回答