SAP HANAでは、1から10までの数の数字を生成できますか?

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

  •  21-12-2019
  •  | 
  •  

質問

SAP HANAでは、1~10の範囲の数、または1~nが任意の数字の範囲を持ちたいです。そのため、ビューから選択すると、Nレコードを選択して最初のNレコードを範囲から取得できます。

iは、このストアドプロシージャを使用して増加するIDを持つ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 "insert_period_start as mas_period_startをIDとして、series_generate_integer(1,1,1001);

ははるかに速くて速いです。

他のヒント

for loopwhileよりも簡単です。

FOR START_ID IN 1..1000 DO
INSERT INTO "TEST_TABLE" VALUES(START_ID,'');
END FOR;
.

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top