Modificare i dati della tabella

La funzionalità Modifica dati nell'estensione PostgreSQL apre una tabella da Esplora oggetti in una griglia modificabile. È possibile modificare i valori sul posto, aggiungere o eliminare righe, esaminare ogni modifica in sospeso come SQL e quindi salvare nuovamente le modifiche nel database. Modifica dati viene eseguito allo stesso modo in Visual Studio Code e cursore.

Quando usare Modifica dati

Usare Modifica dati quando è necessario:

  • correggere o aggiornare un numero limitato di righe senza dover scrivere manualmente istruzioni UPDATE o INSERT,
  • esaminare una tabella e apportare modifiche rapide e con riconoscimento dei tipi con l'editor corretto per ogni colonna o
  • esaminare il codice SQL generato da un set di modifiche prima di eseguirne il commit.

Tip

Modifica dati è ideale per modifiche piccole e mirate alle righe. Per le modifiche in blocco, i filtri complessi o gli aggiornamenti con script, scrivere invece SQL in un editor di query. Usare Esplora oggetti per creare script o aprire una query per la tabella.

Prerequisites

Prima di modificare i dati della tabella, assicurarsi di disporre di:

  • una connessione attiva al database PostgreSQL di destinazione e
  • una tabella con una chiave primaria. Modifica dati richiede una chiave primaria per identificare ogni riga, quindi una tabella priva di una chiave primaria viene aperta in sola lettura. È possibile visualizzarne le righe, ma non modificarle.

Aprire l'editor

  1. Nell'albero Connessioni espandere il database, quindi lo schema ,ad esempio pubblico, e quindi la cartella Tabelle . Se si disattiva raggruppamento per schema, la cartella Tabelle appare direttamente sotto il database.
  2. Fare clic con il pulsante destro del mouse sulla tabella da modificare.
  3. Selezionare Modifica dati.

L'estensione apre una visualizzazione Web denominata <schema>.<table> - Edit Data (ad esempio , public.models - Edit Data) e carica le righe della tabella nella griglia. Il numero di righe caricate è limitato dall'impostazione del limite di riga.

Modificare una cella

La griglia mostra le righe della tabella con un marcatore di stato in ogni riga, in modo da poter indicare le righe pulite dalle righe modificate, aggiunte o contrassegnate per l'eliminazione. Ogni colonna usa un editor compatibile con i tipi, in modo da ottenere il controllo corretto per i dati:

  • Le colonne di testo e numero vengono modificate come un foglio di calcolo. Iniziare a digitare per sostituire il valore oppure premere INVIO o F2 per modificarlo.
  • Le colonne booleane mostrano un interruttore true/false/NULL. Usare i tasti di direzione per spostarsi tra le opzioni e Invio per eseguire il commit.
  • Le colonne enumerazione aprono un elenco a discesa dei valori validi del tipo quando si preme INVIO o F2.
  • Le colonne di data e ora usano una selezione di data/ora nativa o testo normale, a seconda dell'impostazione dell'editor di data/ora.
  • Le colonne NULL e nullable vengono gestite in modo esplicito, pertanto è possibile impostare o cancellare un valore senza ambiguità.

Quando si modifica una cella, il marcatore di stato della riga passa a uno stato in sospeso (dirty) e viene visualizzata la barra Salva e ignora modifiche.

Per i valori di testo o JSON lunghi, aprire l'editor espanso per ottenere una superficie di modifica con riconoscimento della lingua, invece di una singola cella angusta. Aprire l'editor della cella, selezionare il controllo espandi per aprire il valore nell'editor di celle di modifica più grande, apportare le modifiche e selezionare Applica.

Aggiungere o eliminare righe

Usare la barra degli strumenti per modificare le righe della tabella:

  • Aggiungi riga crea una nuova riga non salvata precompilata con qualsiasi valore predefinito lato server e si sposta nella prima cella modificabile.
  • Elimina contrassegna la riga esistente selezionata per l'eliminazione. La riga rimane visibile con un marcatore di eliminazione fino a quando non si salva. Se si elimina una nuova riga non salvata, viene rimossa immediatamente.
  • Ripristina riga elimina le modifiche in sospeso nella riga selezionata. Una riga modificata restituisce gli ultimi valori salvati e viene rimossa una nuova riga non salvata.

Ogni azione rispetta le autorizzazioni della tabella. Se non è possibile inserire o eliminare righe in una tabella o la tabella è di sola lettura, le azioni corrispondenti rimangono disabilitate.

Rivedere e salvare le modifiche

Mentre sono state apportate modifiche in sospeso, la barra delle modifiche rimane visibile con un riepilogo delle modifiche in sospeso e delle modifiche in anteprima, Salva e Ignora azioni. L'aggiornamento è disabilitato fino a quando non sono presenti modifiche in sospeso, quindi un ricaricamento non elimina mai automaticamente le modifiche.

Selezionare Anteprima modifiche per aprire il riquadro di revisione, che elenca le istruzioni INSERT, UPDATE e DELETE in sospeso, raggruppate per operazione. Quando la connessione è in grado di visualizzare i valori, il riquadro mostra l'SQL esatto. In caso contrario, vengono visualizzate istruzioni con parametri con i valori associati elencati separatamente. Salvare esegue le istruzioni in un'unica transazione. Dal riquadro è possibile:

  • Copia SQL per copiare negli appunti le istruzioni SQL in sospeso, oppure
  • Aprire in Editor di query per aprire lo stesso SQL di un query editor già connesso al server e al database della tabella, in modo che sia possibile modificarlo o eseguirlo manualmente.

Quando le modifiche sono corrette, selezionare Salva per eseguire il commit di tutte le modifiche in sospeso nel database o Ignora per ripristinare tutte le modifiche. Entrambe le azioni sono disponibili solo se sono presenti modifiche in sospeso e la tabella è scrivibile.

Impostazioni

Edit Data ha tre impostazioni. Impostarli nelle impostazioni dell'utente o dell'area di lavoro , cercare pgsql.editData o modificarle direttamente in settings.json.

Setting Predefinito Descrizione
pgsql.editData.rowLimit 200 Numero massimo di righe da caricare durante la modifica dei dati della tabella.
pgsql.editData.dateTimeEditor native Controlla se Modifica dati utilizza input di data/ora nativi (native) o input di testo normale (text) per le celle di data e ora. Con native, i timestamp con riconoscimento del fuso orario usano ancora testo normale.
pgsql.editData.tabPastLastCell addRow Controlla cosa accade quando si preme Tab oltre l'ultima cella modificabile: addRow crea una nuova riga e ne apre la prima cella, mentre stop conferma la cella e si ferma alla fine della griglia.

Autorizzazioni e requisiti

  • Chiave primaria. La modifica richiede una chiave primaria per identificare le righe in modo univoco. Una tabella che ne è priva si apre in sola lettura. Quando si modifica un valore in una colonna chiave primaria, Modifica dati chiede di confermare prima di salvarlo.
  • Autorizzazioni per colonne e tabelle. Edit Data tiene conto delle autorizzazioni. Le colonne di sola lettura non possono essere modificate e le azioni Aggiungi riga, Elimina e Salva rimangono disabilitate quando il ruolo non può eseguirle nella tabella.