Supprimer des enregistrements (Gestion des données)

Synthèse

Supprime tous les enregistrements ou le sous-ensemble sélectionné de la saisie.

La suppression de tous les enregistrements ou d’un sous-ensemble sélectionné dépend des éléments suivants :

  • S’il y a une table ou une classe d’entités en entrée, tous les enregistrements sont supprimés.
  • S’il y a une couche ou une vue tabulaire sans sélection en entrée, tous les enregistrements sont supprimés.
  • S’il y a une couche ou une vue tabulaire avec une sélection, seuls les enregistrements sélectionnés sont supprimés.

Utilisation

  • La valeur du paramètre Input Rows (Enregistrements en entrée) peut être une table dBASE, une classe d’entités ou une table de géodatabase fichier ou d’entreprise, un shapefile, une couche ou une vue tabulaire.

  • Si cet outil est utilisé sur les données d’entités, l’enregistrement entier, y compris la géométrie, est supprimé.

  • Remarque :

    La suppression de tous les enregistrements d’une table contenant un grand nombre d’enregistrements peut prendre beaucoup de temps. Pour supprimer tous les enregistrements, utilisez plutôt l’outil Tronquer une table. Consultez la documentation relative à Tronquer une table pour prendre connaissance des précautions d’utilisation.

Paramètres

ÉtiquetteExplicationType de données
Enregistrements en entrée

Classe d’entités, couche, table ou vue tabulaire dont les enregistrements sont supprimés.

Table View

Sortie obtenue

ÉtiquetteExplicationType de données
Entrée mise à jour avec enregistrements supprimés

Entrée mise à jour.

Table View

arcpy.management.DeleteRows(in_rows)
NomExplicationType de données
in_rows

Classe d’entités, couche, table ou vue tabulaire dont les enregistrements sont supprimés.

Table View

Sortie obtenue

NomExplicationType de données
out_table

Entrée mise à jour.

Table View

Exemple de code

Exemple 1 d’utilisation de l’outil DeleteRows (fenêtre Python)

Le script de fenêtre Python ci-dessous illustre l’utilisation de la fonction DeleteRows en mode immédiat.

import arcpy
arcpy.env.workspace = "C:/data"
arcpy.management.CopyRows("accident.dbf", "C:/output/accident2.dbf")
arcpy.management.DeleteRows("C:/output/accident2.dbf")
Exemple 2 d’utilisation de l’outil DeleteRows (script autonome)

Le script autonome suivant montre comment utiliser la fonction DeleteRows pour supprimer des enregistrements à partir d’une expression.

# Description: Delete rows from a table based on an expression
 
# Import system modules
import arcpy

# Set environment settings
arcpy.env.workspace = "C:/data"

# Set local variables
inTable = "accident.dbf"
outTable = "C:/output/new_accident.dbf"
tempTableView = "accidentTableView"
expression = arcpy.AddFieldDelimiters(tempTableView, "Measure") + " = 0"
 
# Run CopyRows to make a new copy of the table
arcpy.management.CopyRows(inTable, outTable)

# Run MakeTableView
arcpy.management.MakeTableView(outTable, tempTableView)

# Run SelectLayerByAttribute to determine which rows to delete
arcpy.management.SelectLayerByAttribute(tempTableView, "NEW_SELECTION", 
                                        expression)

# Run GetCount and if some features have been selected, run
#  DeleteRows to remove the selected rows.
if int(arcpy.management.GetCount(tempTableView)[0]) > 0:
    arcpy.management.DeleteRows(tempTableView)

Rubriques connexes