Как в SAP HANA создать диапазон чисел, например от 1 до 10?

StackOverflow https://stackoverflow.com//questions/24051074

  •  21-12-2019
  •  | 
  •  

Вопрос

В SAP HANA я хочу иметь представление, которое имеет диапазон чисел от 1 до 10 или от 1 до n, где n — любое число.Поэтому, когда я выбираю из представления, я могу выбрать n записей, чтобы получить первые n записей из диапазона.

Мне удалось создать таблицу из 1000 строк с идентификатором, который увеличивается с помощью этой хранимой процедуры.Есть ли более простой способ?

DROP PROCEDURE "DEMO_PROC";
CREATE PROCEDURE "DEMO_PROC"(
         IN    ID    INTEGER )
LANGUAGE SQLSCRIPT AS
/*********BEGIN PROCEDURE SCRIPT ************/
BEGIN
DECLARE
         START_ID INTEGER;
DROP TABLE TEST_TABLE;
CREATE COLUMN TABLE "TEST_TABLE" (ID INTEGER, NAME VARCHAR(10));
START_ID := 0;
WHILE START_ID < 1000 DO
  START_ID := START_ID + 1;
  INSERT INTO "TEST_TABLE" VALUES(:START_ID, '');
 END WHILE;
END;

CALL "DEMO_PROC"(1);

SELECT * FROM "TEST_TABLE";
Это было полезно?

Решение

Использование генератора является предпочтительным способом:

Вставьте в «test_table» выберите «Extry_Stable» в качестве идентификатора, «как имя из серии_Generate_Integer (1,1, 1001);

намного проще и быстрее.

Другие советы

Я думаю for loop проще, чем while.

FOR START_ID IN 1..1000 DO
INSERT INTO "TEST_TABLE" VALUES(START_ID,'');
END FOR;
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top