DELETE SELECTION

4D - Documentation   Français   English   German   Español   4D v11 SQL, Comandos por temas   4D v11 SQL, Lista alfabética de comandos   4D v11 SQL, Constantes por temas   Regresar   Anterior   Siguiente

versión 3


DELETE SELECTION {(tabla)}

ParámetroTipoDescripción
tablaTablaTabla de la cual borrar la selección actual o
Tabla por defecto, si se omite

Descripción

DELETE SELECTION borra la selección actual de registros de tabla. Si la selección actual está vacía, DELETE SELECTION no hace nada. Después de borrar los registros, la selección actual queda vacía. Los registros que se borran durante una transacción están bloqueados para los otros usuarios y procesos hasta que la transacción se valide o cancele.

Advertencia: La supresión de una selección de registros es una operación definitiva, y no puede deshacerse.

Ejemplos

1. El siguiente ejemplo muestra todos los registros de la tabla [Personas] y permite al usuario seleccionar cuáles borrar. El ejemplo tiene dos partes. La primera es un método para mostrar los registros. La segunda es un método de objeto para un botón Borrar. Este es el primer método:

   ALL RECORDS ([Personas])  ` Selección de todos los registros
   OUTPUT FORM ([Personas]; "Lista") ` Definición del formulario para listar los registros 
   DISPLAY SELECTION ([Personas])  ` Mostrar todos los registros

El siguiente es el método de objeto del botón Borrar, que aparece en el pie de página del formulario de salida. El método de objeto utiliza los registros seleccionados por el usuario (el conjunto sistema UserSet) para borrar la selección. Note que si el usuario no selecciona ningún registro, DELETE SELECTION no tiene ningún efecto.

      ` Solicitar confirmación de que el usuario realmente quiere borrar los registros
   CONFIRM("Usted seleccionó"+String(Records in set ("UserSet"))+" personas a borrar."
                                    +Char(13)+"Haga clic en OK para borrarlas.")
   If (OK=1)
      USE SET ("UserSet") ` Utilizar los registros elegidos por el usuario
      DELETE SELECTION([Personas]) ` Borrar la selección de registros
   End if
   ALL RECORDS ([Personas]) ` Selección de todos los registros

2. Si se encuentra un registro bloqueado durante la ejecución de DELETE SELECTION, ese registro no se borra. Todos los registros bloqueados se colocan en un conjunto sistema llamado LockedSet. Después de la ejecución de DELETE SELECTION, puede probar LockedSet para verificar si los registros estaban bloqueados. El siguiente bucle se ejecutará hasta que todos los registros se borren:

   Repeat  ` Repetir para cada registro bloqueado
      DELETE SELECTION([EstaTabla])
      If (Records in set("LockedSet")#0) ` Si hay registros bloqueados
         USE SET ("LockedSet") ` Seleccionar únicamente los registros bloqueados
      End if
   Until (Records in set("LockedSet")=0) ` Hasta que no haya más registros bloqueados

Ver también

Conjuntos, DISPLAY SELECTION, MODIFY SELECTION, Record Locking, TRUNCATE TABLE.


4D - Documentation   Français   English   German   Español   4D v11 SQL, Comandos por temas   4D v11 SQL, Lista alfabética de comandos   4D v11 SQL, Constantes por temas   Regresar   Anterior   Siguiente