Faq/Base/143

From The Document Foundation Wiki
< Faq‎ | Base
Jump to navigation Jump to search
This page is a translated version of the page Faq/Base/143 and the translation is 100% complete.
Other languages:
Deutsch • ‎English • ‎Nederlands • ‎dansk • ‎français • ‎italiano • ‎čeština


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 Extra ▸ SQL 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
  • Extra ▸ SQL
  • 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"


Note pin.svg

NB:

  • Het bestand test.csv wordt opgeslagen in dezelfde map als de database.
  • De lijst tabellen wordt niet automatisch bijgewerkt, voer daarvoor uit Beeld ▸ Tabellen vernieuwen (alleen beschikbaar als de tabelobjecten worden getoond).

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).