遍历 HANA table
Looping over HANA table
我正在尝试在 HANA 中创建一个应该循环通过 table 的存储过程。假设我有 3 列,ColumnA、ColumnB 和 ColumnC。在 ColumnA 中,我有我想要循环的标识符。在 ColumnB 中,我有相关的标识符,但在某些情况下,ColumnB 中的标识符可以与 ColumnA 中的相同。在 ColumnC 中,我有一个 COUNT。
所以 table 看起来像:
ColumnA | ColumnB | ColumnC
0001 | 0002 | 0
0003 | 0004 | 0
0002 | 0005 | 6
该过程应遍历每一行并检查 ColumnC 以查看 ColumnC 中的值是否大于 0。如果不是,则从 ColumnB 中获取相关标识符,并在 ColumnA 中查找它。如果那里的值大于 0,则循环应将该行插入 table 并中断。
任何建议都会有用,除了程序之外,我也愿意使用不同的方法。
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;
如果它解决了您的问题,请告诉我。
我正在尝试在 HANA 中创建一个应该循环通过 table 的存储过程。假设我有 3 列,ColumnA、ColumnB 和 ColumnC。在 ColumnA 中,我有我想要循环的标识符。在 ColumnB 中,我有相关的标识符,但在某些情况下,ColumnB 中的标识符可以与 ColumnA 中的相同。在 ColumnC 中,我有一个 COUNT。
所以 table 看起来像:
ColumnA | ColumnB | ColumnC
0001 | 0002 | 0
0003 | 0004 | 0
0002 | 0005 | 6
该过程应遍历每一行并检查 ColumnC 以查看 ColumnC 中的值是否大于 0。如果不是,则从 ColumnB 中获取相关标识符,并在 ColumnA 中查找它。如果那里的值大于 0,则循环应将该行插入 table 并中断。
任何建议都会有用,除了程序之外,我也愿意使用不同的方法。
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;
如果它解决了您的问题,请告诉我。