FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
|
#1
|
|||
|
|||
Borrar n Registros de una Tabla
Hola, Tengo una duda que en primera instancia pareseria sencilla pero no he encontrado como hacerlo, la idea seria borrar los primeros n registros de una tabla esto usando Firebird 1.5 , el problema es que me encontre un parrafo en el documento Firebird 1.5 Relese notes donde afirma que la siguiente posible intruccion que podria llegar ha hacer esto tendria el siguiente problema:
Two Gotchas with SELECT FIRST 1. This delete from TAB1 where PK1 in (select first 10 PK1 from TAB1); will delete all of the rows in the table. Ouch! the sub-select is evaluating each 10 candidate rows for deletion, deleting them, slipping forward 10 more...ad infinitum, until there are no rows left. y si efectivamente si ejecutas la instruccion no solo borra los 10 primero como pudieras esperar, sin no que borra todos los registros: Alguien mas Tiene un idea de como hacer esto ? Muchas gracias por su ayuda |
#2
|
||||
|
||||
En un query haces el select de esos primeros 10 registros y luego los recorres del primero al último borrándolo.
|
#3
|
||||
|
||||
Cita:
__________________
No todo es como parece ser... |
#4
|
||||
|
||||
Desde delphi podrías hacer algo así,:
|
#5
|
|||
|
|||
Cita:
|
#6
|
||||
|
||||
Cita:
|
#7
|
||||
|
||||
Saludos
Cita:
Seria interesante que alguien nos dijera como se podria hacer en sentencias.
__________________
Van Troi De León (Not) Guía, Code vB:=Delphi-SQL, ¿Cómo? Viajar en el tiempo no es teóricamente posible, pues si lo fuera, ya estarían aqui contándonos al respecto! |
|
|
|