Как добавить серию данных в таблицу? - PullRequest
2 голосов
/ 15 октября 2019

Мне нужно добавить ряд данных от 0 до 1000 в столбец таблицы в LibreOffice Base, и я хотел бы найти способ с помощью команды SQL вместо того, чтобы вставлять все 1000 один за другим. Это возможно сделать или нет?

1 Ответ

0 голосов
/ 17 октября 2019

Версия HSQLDB (1.8.0), традиционно поставляемая с LibreOffice и OpenOfficeOrg, уже более 10 лет и не поддерживает расширенные функции. Вы можете использовать решение «разбить базу данных», чтобы использовать последнюю версию (2.4.x или 2.5.x) HSQLDB. Это подробно описано здесь:

https://forum.openoffice.org/en/forum/viewtopic.php?f=83&t=61183

В последних версиях HSQLDB вы можете вставлять значения из функции SEQUENCE_ARRAY. В следующем примере таблица с одним столбцом заполняется значениями (0, 1000):

CREATE TABLE T (ID INT);
INSERT INTO T (SELECT * FROM UNNEST( SEQUENCE_ARRAY(0, 1000, 1)) );

Функция SEQUENCE_ARRAY документирована здесь:

http://hsqldb.org/doc/2.0/guide/builtinfunctions-chapt.html#bfc_array_functions

...