Nejčastější dotazy/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 79% complete.
Outdated translations are marked like this.
Other languages:
Deutsch • ‎English • ‎Nederlands • ‎dansk • ‎français • ‎italiano • ‎čeština


Jak propojit (připojit) tabulky v textovém formátu v databázi HSQL ?

Existuje textový soubor (.Txt, .Csv), který chcete propojit s databází LibreOffice (výchozí formátHSQL). Tento soubor lze upravit mimo LibreOffice. Může to být například soubor vygenerovaný aplikací. Nechceme jej importovat do databáze (což by vedlo k nedynamickému výsledku), ale propojit, připojit jej, aby mohl reflektovat změny.

Principem je vytvoření tabulky v textovém formátu definující strukturu a následné propojení se zdrojovým souborem. Rozhraní neumožňuje provést "graficky" tento typ funkce. Musíme použít nabídku Nástroje ▸ SQL. Kromě toho bude tabulka použita jako další tabulka. Lze ji použít zejména při spojování se standardními HSQL tabulkami.

V tomto příkladu vytvoříme tabulku s automatickou hodnotou pole ID (INTEGER), textovým polem (VARCHAR) , datovým polem (DATE) a číselným polem (NUMERIC) .

Odpovídající soubor dat (test.csv) bude:

1;Produkt jedna;2008-07-01;23.10
2;Produkt dva;2008-07-02;15.50
3;Produkt tři;2008-07-03;11
4;Produkt čtyři;2008-07-04;13.50

Jak vytvořit tabulku

  • Otevřete databázi HSQL
  • Spusťte Nástroje ▸ SQL
  • Do pole Příkaz k provedení napište následující SQL a klikněte na Provést.

-- Pouze s nástroji> SQL
CREATE TEXT TABLE "NomTableLiaison" ("ID" INTEGER GENERATED BY DEFAULT AS IDENTITY, "NomProduit" VARCHAR(50), "DateDebut" Date, "Nombre" NUMERIC)
SET TABLE "NomTableLiaison" SOURCE "test.csv;fs=\semi"

Poznámka

  • Soubor "test.csv" je uložen ve stejné složce jako databáze.
  • Seznam tabulek se neaktualizuje automaticky, spusťte příkaz View ▸ Refresh tables (aktivní pouze při zobrazení objektů "Tabulky").

Pokud chcete při otevření databáze něco změnit, je možné tabulku odpojit od zdrojového souboru pomocí příkazu:

-- Pouze s nástroji> SQL
SET TABLE "NomTableLiaison" SOURCE OFF

Příkazem dojde k opětovnému připojení:

-- Pouze s nástroji> SQL
SET TABLE "NomTableLiaison" SOURCE ON