Edytowanie danych tabeli

Funkcja Edytuj dane w rozszerzeniu PostgreSQL otwiera tabelę z Eksplorator obiektów w edytowalną siatkę. Możesz bezpośrednio zmieniać wartości, dodawać lub usuwać wiersze, przeglądać wszystkie oczekujące zmiany w postaci kodu SQL, a następnie zapisać je z powrotem do bazy danych. Funkcja Edytuj dane działa tak samo jak w Visual Studio Code i kursorze.

Kiedy używać funkcji Edytuj dane

Użyj opcji Edytuj dane , jeśli musisz:

  • popraw lub zaktualizuj niewielką liczbę wierszy bez ręcznego pisania UPDATE lub INSERT instrukcji,
  • sprawdź tabelę i wprowadź szybkie zmiany z rozpoznawaniem typów przy użyciu odpowiedniego edytora dla każdej kolumny lub
  • przed zatwierdzeniem należy przejrzeć kod SQL, który generuje zestaw edycji.

Wskazówka

Edytowanie danych jest najlepsze w przypadku małych, docelowych zmian wierszy. W przypadku zmian zbiorczych, złożonych filtrów lub aktualizacji skryptowych należy zamiast tego napisać język SQL w edytorze zapytań. Użyj Eksploratora obiektów , aby utworzyć skrypt lub otworzyć zapytanie dla tabeli.

Prerequisites

Przed edytowaniem danych tabeli upewnij się, że masz następujące elementy:

  • aktywne połączenie z docelową bazą danych PostgreSQL i
  • tabela z kluczem podstawowym. Edytowanie danych wymaga klucza podstawowego, aby zidentyfikować każdy wiersz, więc tabela bez jednego otwiera się w trybie tylko do odczytu. Możesz wyświetlić jego wiersze, ale nie można ich zmienić.

Otwieranie edytora

  1. W drzewie Połączenia rozwiń bazę danych, a następnie jej schemat (na przykład publiczny), a następnie folder Tables . Jeśli wyłączysz grupowanie według schematu, folder Tables pojawi się bezpośrednio w bazie danych.
  2. Kliknij prawym przyciskiem myszy tabelę, którą chcesz zmienić.
  3. Wybierz pozycję Edytuj dane.

Rozszerzenie otwiera widok webview zatytułowany <schema>.<table> - Edit Data (na przykład public.models - Edit Data) i ładuje wiersze tabeli do siatki. Liczba ładowanych wierszy jest ograniczona przez ustawienie limitu wierszy.

Edycja komórki

Siatka przedstawia wiersze tabeli ze znacznikiem stanu przy każdym wierszu, dzięki czemu można odróżnić niezmienione wiersze od wierszy zmienionych, dodanych lub oznaczonych do usunięcia. Każda kolumna używa edytora obsługującego typy, dlatego uzyskujesz odpowiednią kontrolę dla danych:

  • Kolumny tekstowe i liczbowe edytują się jak arkusz kalkulacyjny. Zacznij wpisywać, aby zastąpić wartość, lub naciśnij Enter albo F2, aby edytować w miejscu.
  • Kolumny logiczne pokazują przełącznik true/false/NULL. Użyj klawiszy strzałek, aby przejść między opcjami a klawiszem Enter , aby zatwierdzić.
  • Kolumny typu Enum otwierają listę rozwijaną prawidłowych wartości tego typu po naciśnięciu klawisza Enter lub F2.
  • Kolumny daty i godziny używają natywnego selektora daty/godziny lub zwykłego tekstu w zależności od ustawienia edytora daty/godziny.
  • Wartość NULL oraz kolumny dopuszczające wartość NULL są obsługiwane jawnie, dzięki czemu można ustawić lub wyczyścić wartość bez dwuznaczności.

Po zmianie komórki znacznik stanu wiersza zmieni się na stan oczekujący (brudny), a zostanie wyświetlony pasek Zapisz i Odrzuć zmiany.

W przypadku długiego tekstu lub wartości JSON otwórz rozszerzony edytor, aby uzyskać obszerny obszar edycji uwzględniający język zamiast ciasnej komórki. Otwórz edytor komórki, wybierz kontrolkę rozwijania, aby otworzyć wartość w większym edytorze Edytuj komórkę, wprowadź zmiany i wybierz Zastosuj.

Dodawanie lub usuwanie wierszy

Użyj paska narzędzi, aby zmienić wiersze tabeli:

  • Dodaj wiersz tworzy nowy, niezapisany wiersz wstępnie wypełniony dowolnymi wartościami domyślnymi po stronie serwera i przenosi Cię do pierwszej edytowalnej komórki.
  • Usuń oznacza zaznaczony istniejący wiersz do usunięcia. Wiersz pozostaje widoczny ze znacznikiem usuwania do momentu zapisania. Usunięcie niezapisanego nowego wiersza powoduje natychmiastowe usunięcie go.
  • Przywróć wiersz odrzuca oczekujące zmiany w wybranym wierszu. Edytowany wiersz powraca do ostatnich zapisanych wartości, a niezapisany nowy wiersz zostanie usunięty.

Każda akcja uwzględnia uprawnienia tabeli. Jeśli nie możesz wstawiać ani usuwać wierszy w tabeli albo tabela jest tylko do odczytu, pasujące akcje pozostają wyłączone.

Przeglądanie i zapisywanie zmian

Podczas oczekiwania na zmiany pasek zmian pozostaje widoczny z podsumowaniem oczekujących zmian, a także akcji Podgląd, Zapisz i Odrzuć . Odświeżanie jest wyłączone do momentu braku oczekujących zmian, więc ponowne ładowanie nigdy nie pominie zmian w trybie dyskretnym.

Wybierz Podgląd zmian, aby otworzyć panel przeglądu, który zawiera listę oczekujących instrukcji INSERT, UPDATE i DELETE, pogrupowanych według operacji. Gdy połączenie może renderować wartości, w okienku zostanie wyświetlona dokładna baza danych SQL. W przeciwnym razie wyświetla sparametryzowane instrukcje z powiązanymi wartościami wypisanymi osobno. Zapisywanie uruchamia instrukcje w jednej transakcji. W okienku można wykonywać następujące czynności:

  • Skopiuj kod SQL, aby umieścić oczekujące instrukcje w schowku lub
  • Otwórz w edytorze zapytań, aby otworzyć to samo zapytanie SQL w edytorze zapytań, który jest już połączony z serwerem i bazą danych tej tabeli, dzięki czemu można je samodzielnie dostosować lub uruchomić.

Gdy zmiany wyglądają prawidłowo, wybierz pozycję Zapisz , aby zatwierdzić wszystkie oczekujące zmiany w bazie danych lub Odrzuć , aby przywrócić wszystkie z nich. Obie akcje są dostępne tylko wtedy, gdy istnieją oczekujące zmiany, a tabela jest zapisywalna.

Ustawienia

Opcja Edytuj dane ma trzy ustawienia. Ustaw je w ustawieniach użytkownika lub obszaru roboczego — wyszukaj pgsql.editData lub edytuj je bezpośrednio w pliku settings.json.

Setting Domyślny Description
pgsql.editData.rowLimit 200 Maksymalna liczba wierszy do załadowania podczas edytowania danych tabeli.
pgsql.editData.dateTimeEditor native Określa, czy funkcja Edit Data używa natywnych danych wejściowych daty/godziny (native) lub zwykłych danych wejściowych tekstowych (text) dla komórek daty i godziny. Z użyciem native znaczniki czasu uwzględniające strefę czasową nadal używają zwykłego tekstu.
pgsql.editData.tabPastLastCell addRow Określa, co się stanie, gdy po przejściu tabulatorem za ostatnią edytowalną komórkę: addRow tworzy nowy wiersz i otwiera jego pierwszą komórkę, a stop zatwierdza komórkę i zatrzymuje kursor na końcu tabeli.

Uprawnienia i wymagania

  • Klucz podstawowy. Edytowanie wymaga klucza podstawowego do unikatowego identyfikowania wierszy. Tabela bez niego otwiera się tylko do odczytu. Po zmianie wartości w kolumnie klucza podstawowego funkcja Edytuj dane prosi o potwierdzenie przed zapisaniem.
  • Uprawnienia kolumn i tabeli. Edycja danych uwzględnia uprawnienia. Nie można edytować kolumn tylko do odczytu, a akcje Dodaj wiersz, Usuń i Zapisz pozostają wyłączone, jeśli Twoja rola nie ma uprawnień do wykonywania tych akcji w tej tabeli.