Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
La fonctionnalité Modifier les données de l’extension PostgreSQL ouvre une table de Explorateur d'objets dans une grille modifiable. Vous pouvez modifier les valeurs en place, ajouter ou supprimer des lignes, passer en revue chaque modification en attente en tant que SQL, puis enregistrer les modifications dans la base de données. Modifier les données s’exécute de la même façon dans Visual Studio Code et le curseur.
Quand utiliser Modifier des données
Utilisez Modifier les données lorsque vous devez :
- corriger ou mettre à jour un petit nombre de lignes sans rédiger manuellement les instructions
UPDATEouINSERT, - inspectez une table et apportez rapidement des modifications adaptées au type de données avec l’éditeur adapté à chaque colonne, ou
- passez en revue le code SQL généré par un ensemble de modifications avant de le valider.
Tip
Modifier les données est optimale pour les modifications de petites lignes ciblées. Pour les modifications en bloc, les filtres complexes ou les mises à jour scriptées, écrivez plutôt le code SQL dans un éditeur de requête. Utilisez l’Explorateur d’objets pour générer un script ou ouvrir une requête pour la table.
Prerequisites
Avant de modifier les données de table, vérifiez que vous disposez des points suivants :
- une connexion active à la base de données PostgreSQL cible et
- une table avec une clé primaire. Modifier les données nécessite une clé primaire pour identifier chaque ligne. Par conséquent, une table sans clé primaire s’ouvre en lecture seule. Vous pouvez afficher ses lignes, mais pas les modifier.
Ouvrir l’éditeur
- Dans l’arborescence Connexions , développez la base de données, puis son schéma (par exemple, public), puis le dossier Tables . Si vous désactivez le groupe par schéma, le dossier Tables apparaît directement sous la base de données.
- Cliquez avec le bouton droit sur la table à modifier.
- Sélectionnez Modifier les données.
L’extension ouvre une vue web intitulée <schema>.<table> - Edit Data (par exemple) public.models - Edit Dataet charge les lignes de la table dans la grille. Le nombre de lignes qu’il charge est limité par le paramètre de limite de ligne.
Modifier une cellule
La grille affiche les lignes du tableau avec un marqueur d’état sur chaque ligne afin que vous puissiez distinguer les lignes intactes de celles que vous avez modifiées, ajoutées ou marquées pour suppression. Chaque colonne utilise un éditeur prenant en charge le type. Vous obtenez donc le contrôle approprié pour les données :
- Les colonnes de texte et de nombres se modifient comme dans une feuille de calcul. Commencez à taper pour remplacer la valeur, ou appuyez sur Entrée ou F2 pour modifier en place.
- Les colonnes booléennes affichent une bascule true/false/NULL. Utilisez les touches fléchées pour vous déplacer entre les options et Entrée pour valider.
- Les colonnes Enum ouvrent une liste déroulante des valeurs valides du type lorsque vous appuyez sur Entrée ou F2.
- Les colonnes de date et d’heure utilisent un sélecteur de date/heure natif ou du texte brut, en fonction du paramètre de l’éditeur de date/heure.
- Les colonnes NULL et Nullables sont gérées explicitement. Vous pouvez donc définir ou effacer une valeur sans ambiguïté.
Lorsque vous modifiez une cellule, le marqueur d’état de la ligne passe à un état en attente (sale) et la barre Enregistrer et Ignorer les modifications s’affiche.
Pour les valeurs de texte long ou JSON, ouvrez l’éditeur développé pour obtenir une surface d’édition spacieuse et prenant en charge la langue au lieu d’une seule cellule étroite. Ouvrez l’éditeur de la cellule, sélectionnez la commande d’agrandissement pour ouvrir la valeur dans l’éditeur plus grand Modifier la cellule, effectuez vos modifications, puis sélectionnez Appliquer.
Ajouter ou supprimer des lignes
Utilisez la barre d’outils pour modifier les lignes du tableau :
- Ajouter une ligne crée une ligne non enregistrée préremplie avec toutes les valeurs par défaut côté serveur et vous déplace dans sa première cellule modifiable.
- La suppression marque la ligne existante sélectionnée pour suppression. La ligne reste visible avec un marqueur de suppression jusqu'à ce que vous enregistriez. La suppression d’une nouvelle ligne non enregistrée la supprime immédiatement.
- Annuler les modifications de la ligne annule les modifications en attente sur la ligne sélectionnée. Une ligne modifiée retourne ses dernières valeurs enregistrées et une nouvelle ligne non enregistrée est supprimée.
Chaque action respecte les autorisations de la table. Si vous ne pouvez pas insérer ou supprimer de lignes sur une table ou si la table est en lecture seule, les actions correspondantes restent désactivées.
Examiner et enregistrer les modifications
Pendant que vous avez des modifications en attente, la barre de modifications reste visible avec un résumé de ce qui est en attente et les modifications en préversion, Enregistrer et Ignorer les actions. L’actualisation est désactivée jusqu’à ce qu’il n’y ait pas de modifications en attente, de sorte qu’un rechargement ne supprime jamais silencieusement vos modifications.
Sélectionnez Aperçu des modifications pour ouvrir le volet de révision, qui répertorie les instructions en attente INSERT, UPDATEet DELETE regroupées par opération. Lorsque la connexion peut afficher des valeurs, le volet affiche le sql exact. Sinon, il affiche des instructions paramétrables avec les valeurs liées répertoriées séparément. L'enregistrement exécute les instructions en une seule transaction. Dans le volet, vous pouvez :
- Copier le SQL pour placer les instructions en attente dans le presse-papiers, ou
- Ouvrir dans l’éditeur de requête pour ouvrir le même SQL dans un éditeur de requête déjà connecté au serveur et à la base de données de la table, afin que vous puissiez le modifier ou l’exécuter vous-même.
Lorsque les modifications se présentent correctement, sélectionnez Enregistrer pour valider toutes les modifications en attente dans la base de données ou Ignorer pour les rétablir. Les deux actions sont disponibles uniquement lorsqu’il existe des modifications en attente et que la table est accessible en écriture.
Paramètres
Modifier les données a trois paramètres. Définissez-les dans les paramètres de votre utilisateur ou espace de travail - recherchez pgsql.editData - ou modifiez-les directement dans settings.json.
| Setting | Default | Description |
|---|---|---|
pgsql.editData.rowLimit |
200 |
Nombre maximal de lignes à charger lors de la modification des données de table. |
pgsql.editData.dateTimeEditor |
native |
Détermine si Edit Data utilise des entrées de date/heure natives (native) ou des entrées de texte brut (text) pour les cellules de date et d’heure. Avec native, les horodatages compatibles avec les fuseaux horaires restent en texte brut. |
pgsql.editData.tabPastLastCell |
addRow |
Contrôle ce qui se passe lorsque vous appuyez sur la touche Tab au-delà de la dernière cellule modifiable : addRow crée une nouvelle ligne et ouvre sa première cellule, et stop valide la cellule et s’arrête à la fin de la grille. |
Autorisations et exigences
- Clé primaire. La modification nécessite une clé primaire pour identifier les lignes de manière unique. Une table n'en contenant pas s'ouvre en lecture seule. Lorsque vous modifiez une valeur dans une colonne de clé primaire, Edit Data vous demande de confirmer avant d’enregistrer la modification.
- Autorisations de colonne et de table. La modification des données tient compte des autorisations. Les colonnes en lecture seule ne peuvent pas être modifiées, et les actions Ajouter une ligne, Supprimer et Enregistrer restent désactivées lorsque votre rôle ne peut pas les effectuer sur la table.