Úprava dat tabulky

Funkce Upravit data v rozšíření PostgreSQL otevře tabulku z Průzkumník objektů do upravitelné mřížky. Hodnoty můžete změnit na místě, přidat nebo odstranit řádky, zkontrolovat všechny čekající změny jako SQL a pak změny uložit zpět do databáze. Úpravy dat se spouští stejným způsobem jako v Visual Studio Code a kurzoru.

Kdy použít funkci Upravit data

Použijte Upravit data, když potřebujete:

  • opravte nebo aktualizujte malý počet řádků bez ručního psaní UPDATE nebo INSERT příkazů,
  • zkontrolujte tabulku a proveďte rychlé změny s ohledem na datový typ pomocí správného editoru pro každý sloupec nebo
  • zkontrolujte SQL, který sada úprav vygeneruje před potvrzením.

Tip

Upravit data je nejvhodnější pro malé, cílové změny řádků. Pro hromadné změny, složité filtry nebo skriptované aktualizace místo toho napište SQL v editoru dotazů. Pomocí Průzkumníka objektů můžete skriptovat nebo otevřít dotaz pro tabulku.

Předpoklady

Před úpravou dat tabulky se ujistěte, že máte:

  • aktivní připojení k cílové databázi PostgreSQL a
  • tabulka s primárním klíčem. Úprava dat vyžaduje primární klíč k identifikaci každého řádku, takže tabulka bez něj se otevře jen pro čtení. Můžete zobrazit jeho řádky, ale nemůžete je změnit.

Otevření editoru

  1. Ve stromu Připojení rozbalte databázi, potom její schéma (například veřejné) a potom složku Tabulky . Pokud vypnete seskupení podle schématu, složka Tabulky se zobrazí přímo pod databází.
  2. Klikněte pravým tlačítkem myši na tabulku, kterou chcete změnit.
  3. Vyberte Upravit data.

Rozšíření otevře webové zobrazení s <schema>.<table> - Edit Data názvem (například public.models - Edit Data) a načte řádky tabulky do mřížky. Počet řádků, které se načte, je omezený nastavením limitu počtu řádků.

Úprava buňky

Mřížka zobrazuje řádky tabulky se značkou stavu na každém řádku, abyste mohli vyčistit řádky z řádků, které jste změnili, přidali nebo označili k odstranění. Každý sloupec používá editor, který rozlišuje datový typ, takže pro daný typ dat získáte správný ovládací prvek:

  • Textové a číselné sloupce se upravují jako tabulka. Začněte psát a nahraďte hodnotu stisknutím klávesy Enter nebo F2 a upravte ji.
  • Logické sloupce zobrazují přepínač true/false/NULL. Pomocí kláves se šipkami se můžete pohybovat mezi možnostmi a enter k potvrzení.
  • Sloupce typu Enum otevřou rozbalovací seznam platných hodnot daného typu po stisknutí Enter nebo F2.
  • Sloupce data a času používají nativní výběr data a času nebo prostý text v závislosti na nastavení editoru data a času.
  • NULL a sloupce s povolenou hodnotou NULL se zpracovávají explicitně, takže můžete nastavit nebo vymazat hodnotu bez nejasností.

Když změníte buňku, stavová značka řádku se přepne do stavu čekajícího (špinavého) stavu a zobrazí se panel Uložit a Zahodit změny.

U dlouhých textových hodnot nebo hodnot JSON otevřete rozšířený editor, abyste získali prostornou plochu pro úpravy s podporou jazyka místo jedné stísněné buňky. Otevřete editor buňky, výběrem ovládacího prvku rozbalení otevřete hodnotu ve větším editoru upravit buňku , proveďte změny a vyberte Použít.

Přidání nebo odstranění řádků

Pomocí panelu nástrojů můžete změnit řádky tabulky:

  • Přidat řádek vytvoří nový, neuložený řádek předvyplněný všemi výchozími hodnotami ze serveru a přesune kurzor do jeho první upravitelné buňky.
  • Odstranění označí vybraný existující řádek pro odstranění. Řádek zůstane viditelný se značkou odstranění, dokud ho neuložíte. Smazání nového neuloženého řádku jej okamžitě odstraní.
  • Vrátit řádek zruší neuložené změny ve vybraném řádku. Upravený řádek se vrátí k naposledy uloženým hodnotám a neuložený nový řádek se odebere.

Každá akce respektuje oprávnění tabulky. Pokud nemůžete vložit nebo odstranit řádky v tabulce nebo je tabulka jen pro čtení, odpovídající akce zůstanou zakázané.

Kontrola a uložení změn

Dokud máte neuložené změny, panel změn zůstává viditelný se souhrnem neuložených změn a akcemi Náhled změn, Uložit a Zahodit změny. Obnovit je zakázáno, dokud existují nevyřízené změny, takže opětovné načtení nikdy tiše nezahodí vaše úpravy.

Výběrem možnosti Náhled změn otevřete podokno revizí, ve kterém jsou uvedené čekající INSERTUPDATEoperace a DELETE příkazy seskupené podle operace. Když připojení může zobrazit hodnoty, v podokně se zobrazí přesný příkaz SQL. V opačném případě se zobrazí parametrizované příkazy s vázanými hodnotami uvedenými samostatně. Uložení spustí příkazy v jedné transakci. V podokně můžete:

  • Zkopírujte SQL a vložte čekající příkazy do schránky nebo
  • Otevřít v editoru dotazů pro otevření stejného příkazu SQL v editoru dotazů, který je již připojený k serveru a databázi dané tabulky, takže jej můžete sami upravit nebo spustit.

Jakmile změny vypadají správně, vyberte Uložit a potvrďte všechny čekající změny do databáze. Pokud chcete vrátit všechny změny zpět, vyberte Zahodit . Obě akce jsou k dispozici pouze tehdy, pokud existují nevyřízené změny a do tabulky lze zapisovat.

Nastavení

Edit Data má tři nastavení. Nastavte je v nastavení uživatele nebo pracovního prostoru – vyhledejte pgsql.editData – nebo je upravte přímo v settings.json.

Setting Výchozí Description
pgsql.editData.rowLimit 200 Maximální počet řádků, které se mají načíst při úpravách dat tabulky.
pgsql.editData.dateTimeEditor native Určuje, zda edit data používá nativní vstupy data a času (native) nebo vstupy prostého textu (text) pro buňky data a času. I s native časová razítka s časovým pásmem stále používají prostý text.
pgsql.editData.tabPastLastCell addRow Určuje, co se stane, když přejdete tabulátorem před poslední upravitelnou buňkou: addRow vytvoří nový řádek a otevře první buňku a stop potvrdí buňku a zastaví se na konci mřížky.

Oprávnění a požadavky

  • Primární klíč. Úpravy vyžadují primární klíč k jednoznačné identifikaci řádků. Tabulka bez ní se otevře jen pro čtení. Když změníte hodnotu ve sloupci primárního klíče, edit data vás před uložením požádá o potvrzení.
  • Oprávnění sloupců a tabulek Úprava dat zohledňuje oprávnění. Sloupce jen pro čtení se nedají upravovat a akce Přidat řádek, Odstranit a Uložit zůstanou zakázané, když je vaše role nemůže v tabulce provádět.