Supprimer des enregistrements (Gestion des données)

Synthèse

Supprime de l’entrée tous les enregistrements ou le sous-ensemble sélectionné d’enregistrements.

Si les enregistrements en entrée appartiennent à une classe d’entités ou à une table, tous les enregistrements sont supprimés. Si les enregistrements en entrée proviennent d’une couche ou d’une vue tabulaire sans sélection, tous les enregistrements sont supprimés.

Utilisation

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

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

  • Si une couche ou une vue tabulaire est fournie en entrée, et que la couche ou la vue tabulaire ne comporte aucune sélection, tous les enregistrements sont supprimés. Si une table est fournie en entrée, tous les enregistrements sont supprimés.

    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 de la table, 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 la fonction DeleteRows (fenêtre Python)

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


import arcpy
arcpy.env.workspace = "C:/data"
arcpy.CopyRows_management("accident.dbf", "C:/output/accident2.dbf")
arcpy.DeleteRows_management("C:/output/accident2.dbf")
Exemple 2 d’utilisation de la fonction DeleteRows (script autonome)

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

# Name: DeleteRows_Example2.py
# 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"
 
# Execute CopyRows to make a new copy of the table
arcpy.CopyRows_management(inTable, outTable)

# Execute MakeTableView
arcpy.MakeTableView_management(outTable, tempTableView)

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

# Execute GetCount and if some features have been selected, then execute
#  DeleteRows to remove the selected rows.
if int(arcpy.GetCount_management(tempTableView)[0]) > 0:
    arcpy.DeleteRows_management(tempTableView)