In SAP HANA come posso generare una gamma di numeri, ad esempio da 1 a 10?
Domanda
In SAP HANA Desidero avere una vista che ha una gamma di numeri da 1 a 10 o 1 a n dove n è qualsiasi numero.Quindi, quando selezionando dalla vista, posso selezionare n record per ottenere i primi record n dall'intervallo.
Sono stato in grado di creare un tavolo con 1000 righe con un ID che incrementa utilizzando questa procedura memorizzata.C'è un modo più semplice?
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";
. Soluzione
L'utilizzo di un generatore è il modo preferito:
Inserisci in "Test_TAble" Selezionare Generated_Period_Start come ID, "come nome da serie_Generate_INTEGER (1.1.1.1001);
è molto più facile e veloce.
Altri suggerimenti
Penso che for loop
sia più facile da while
.
FOR START_ID IN 1..1000 DO
INSERT INTO "TEST_TABLE" VALUES(START_ID,'');
END FOR;
. Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow