Цикл по таблице HANA - PullRequest
       64

Цикл по таблице HANA

0 голосов
/ 29 мая 2020

Я пытаюсь создать хранимую процедуру в HANA, которая должна oop проходить через таблицу. Допустим, у меня есть 3 столбца: ColumnA, ColumnB и Column C. В ColumnA у меня есть идентификаторы, над которыми я хотел бы oop. В ColumnB у меня есть связанные идентификаторы, но в некоторых случаях идентификаторы в ColumnB могут быть такими же, как в ColumnA. В столбце C у меня есть СЧЁТ.

Итак, таблица выглядит так:

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

Процесс должен oop по каждой строке и проверять столбец C, чтобы увидеть, значение в столбце C больше 0. Если это не так, возьмите связанный идентификатор из столбца B и найдите его в столбце A. Если там есть значение больше 0, l oop должен вставить эту строку в таблицу и разбить.

Любое предложение было бы полезно, я также открыт для использования других методов, помимо процедуры .

1 Ответ

0 голосов
/ 29 июля 2020
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;

Пожалуйста, дайте мне знать, если это решит вашу проблему.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...