Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Bases de datos > Firebird e Interbase
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 09-09-2005
Abel Garcia Abel Garcia is offline
Miembro
 
Registrado: nov 2004
Posts: 45
Poder: 0
Abel Garcia Va por buen camino
Como Borrar Los primeros N Regs

Hola a todos, una nueva vez consultandoles algo, de ante mano gracias por su ayuda.

EN el documento de Firebird encontre esta sentencia:


delete from TAB1 where PK1 in (select first 10 PK1 from TAB1);

Al pareser Borraria los primero diez registros de la tabla TAB1, pero bueno
en el mismo ducumento advierte que esto no sera asi, sino que por el contrario
borrara todos los registros de TAB1, y si en efecto esto es lo que sucede

pero bueno no mensiona un metodo de como poder hacer eso de forma eficiente
Ustedes sabes algo ??
Responder Con Cita
  #2  
Antiguo 09-09-2005
Avatar de ContraVeneno
ContraVeneno ContraVeneno is offline
Miembro
 
Registrado: may 2005
Ubicación: Torreón, México
Posts: 4.738
Poder: 23
ContraVeneno Va por buen camino
Código SQL [-]
delete from Tabla
where campo in (select top 10 campo from tabla)
__________________


Última edición por ContraVeneno fecha: 09-09-2005 a las 18:50:04.
Responder Con Cita
  #3  
Antiguo 09-09-2005
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.051
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
que yo recuerde, top no es ninguna palabra reservada de firebird, o ¿estoy equivocado?
Responder Con Cita
  #4  
Antiguo 09-09-2005
Avatar de jmariano
jmariano jmariano is offline
Miembro
 
Registrado: jul 2005
Posts: 376
Poder: 19
jmariano Va por buen camino
Cita:
Empezado por Casimiro Notevi
que yo recuerde, top no es ninguna palabra reservada de firebird, o ¿estoy equivocado?
Pues nop, no estás equivocado, o por lo menos a mi no me la admite.

Edito: Creo que lo que ContraVeneo quería decir era:

Código SQL [-]
delete from Tabla
where campo in (select first(10) campo from tabla)

Esto si funciona!

Última edición por jmariano fecha: 09-09-2005 a las 19:51:37.
Responder Con Cita
  #5  
Antiguo 09-09-2005
Avatar de ContraVeneno
ContraVeneno ContraVeneno is offline
Miembro
 
Registrado: may 2005
Ubicación: Torreón, México
Posts: 4.738
Poder: 23
ContraVeneno Va por buen camino
ups , tienen razón
solo me limite a contestar lo que creía correcto y no me di cuenta que era el foro de firebird.
Mi respuesta esta en SQL Server, ustedes disculparan este lapso de distracción.
Saludos a todos.
__________________

Responder Con Cita
  #6  
Antiguo 13-09-2005
Avatar de nuk3zito
nuk3zito nuk3zito is offline
Miembro
 
Registrado: ago 2003
Ubicación: "Z" Land
Posts: 244
Poder: 21
nuk3zito Va por buen camino
Código SQL [-]
delete from Tabla
where campo in (select first(10) campo from tabla)

aún así no creo que funcione, mejor haz un store procedure o no se si el firebird guarde algo así como un rowid en cada uno de sus registros como para que usaras un between.
__________________
Tiempo y ocasión acontecen a todos!
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro


La franja horaria es GMT +2. Ahora son las 10:33:25.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi