题
在SAP HANA中,我希望有一个视图,它的数字范围从1到10,或1到n,其中n是任何数字。因此,当我从视图中选择时,我可以选择n条记录以从范围中获取前n条记录。
我能够使用此存储过程创建一个包含1000行的表,其ID为增量。有没有更简单的方法?
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”选择生成的agent_period_startais id,''从series_generate_integer(1,1001);
更容易且更快。
其他提示
我想 for loop
比...... while
.
FOR START_ID IN 1..1000 DO
INSERT INTO "TEST_TABLE" VALUES(START_ID,'');
END FOR;
不隶属于 StackOverflow