Faq/Base/143
TDF LibreOffice Document Liberation Project Blogs gemeenschap Weblate Nextcloud Redmine Ask LibreOffice Doneren
Hoe voeg ik tekstformaat tabellen toe (link/attach) aan een HSQL database?
Er is een tekstbestand (txt, csv) die je wilt linken aan een LibreOffice database (HSQL standaardformaat). Het bestand kan buiten LibreOffice worden gewijzigd, het wordt mogelijk door een andere applicatie aangemaakt. We willen het, niet importeren in een database (dan is het niet dynamisch), maar linken, dus koppelen zodat ook latere wijzigingen direct zien.
Het principe is om een tabel in tekstformaat te maken die de structuur bepaald, en het daarna linke aan het bronbestand. De interface heeft geen functie voor een "grafische" uitvoering. We moeten het menu
▸ gebruiken. Daarnaast wordt de tabel als een andere tabel gebruikt. Het kan dus in joins worden gebruikt met de standaard HSQL tabellen.In het voorbeeld maken we een tabel met een ID veld (INTEGER) auto-value, een tekstveld (VARCHAR), een datumveld (DATE) en een numeriek veld (NUMERIC).
Een invoerbestand (test.csv) ziet er dan als volgt uit:
1;Product een;2022-07-01;23.10 2;Product twee;2022-07-02;15.50 3;Product drie;2022-07-03;11 4;Product vier;2022-07-04;13.50
Hoe de tabel aan te maken
- Open de HSQL database
- ▸
- Tik de volgende SQL in, in het veld SQL-opdracht en klik op Uitvoeren
-- Met Extra > SQL
CREATE TEXT TABLE "Relatie" ("ID" INTEGER GENERATED BY DEFAULT AS IDENTITY, "NaamProduct" VARCHAR(50), "OpvoerDatum" Date, "Aantal" NUMERIC)
SET TABLE "Relatie" SOURCE "test.csv;fs=\semi"
Als je iets wilt wijzigen terwijl de database is geopend dan kun je de tabel loskoppelen van het bronbestand met de opdracht:
-- Met Extra > SQL
SET TABLE "Relatie" SOURCE OFF
Opnieuw koppelen:
-- Met Extra> SQL
SET TABLE "Relatie" SOURCE ON
- Download voorbeeld (maak het bestand test.csv aan in dezelfde map als waar je de download zet).