Como borro los n primeros registros de una tabla

06/11/2003 - 13:17 por Anonimo | Informe spam
Hola.
Me gustaría saber, como hago para borrar los n ultimos o
primeros registros en una tabla.
Para mostrarlos me vale con usar la sentencia TOP:
SELECT TOP 25 * FROM
Pero para borralos con DELETE no me permite usar el TOP
¿Como puedo hacerlo?
Gracias.

Preguntas similare

Leer las respuestas

#1 Accotto Maximiliano D.
06/11/2003 - 13:28 | Informe spam
seria algo asi como:

DELETE CLIENTES
FROM (SELECT TOP 10 * FROM CLIENTES) AS t1
WHERE CLIENTE._id = t1.id

Accotto Maximiliano Damian
escribió en el mensaje
news:0bd001c3a45f$eefecbf0$
Hola.
Me gustaría saber, como hago para borrar los n ultimos o
primeros registros en una tabla.
Para mostrarlos me vale con usar la sentencia TOP:
SELECT TOP 25 * FROM
Pero para borralos con DELETE no me permite usar el TOP
¿Como puedo hacerlo?
Gracias.
Respuesta Responder a este mensaje
#2 Carlos Sacristan
06/11/2003 - 15:05 | Informe spam
Lo que ocurre es que si utilizas TOP sin indicar un orden específico, no
se garantiza que vayan a ser los registros que tú esperas


Un saludo

-
"Sólo sé que no sé nada. " (Sócrates)
MVP SQL Server
Por favor, responder únicamente al foro
Se agradece la inclusión de sentencias DDL


"Accotto Maximiliano D." escribió en el
mensaje news:
seria algo asi como:

DELETE CLIENTES
FROM (SELECT TOP 10 * FROM CLIENTES) AS t1
WHERE CLIENTE._id = t1.id

Accotto Maximiliano Damian
escribió en el mensaje
news:0bd001c3a45f$eefecbf0$
Hola.
Me gustaría saber, como hago para borrar los n ultimos o
primeros registros en una tabla.
Para mostrarlos me vale con usar la sentencia TOP:
SELECT TOP 25 * FROM
Pero para borralos con DELETE no me permite usar el TOP
¿Como puedo hacerlo?
Gracias.


Respuesta Responder a este mensaje
#3 Accotto Maximiliano D.
06/11/2003 - 15:07 | Informe spam
Carlos!! se supone q los primeros 10 registros te los da el order by dentro
de un Select!! sino si es como decis vos!! hay q ver q son para el usuario
los 10 primeros registros!! lo q yo mande como codigo es algo simple donde
se le puede obviamente agregar toda la complejidad q necesites
(joins,order,etc).

Un abrazo


Accotto Maximiliano Damian
"Carlos Sacristan" escribió en el mensaje
news:

Lo que ocurre es que si utilizas TOP sin indicar un orden específico,


no
se garantiza que vayan a ser los registros que tú esperas


Un saludo

-
"Sólo sé que no sé nada. " (Sócrates)
MVP SQL Server
Por favor, responder únicamente al foro
Se agradece la inclusión de sentencias DDL


"Accotto Maximiliano D." escribió en


el
mensaje news:
> seria algo asi como:
>
> DELETE CLIENTES
> FROM (SELECT TOP 10 * FROM CLIENTES) AS t1
> WHERE CLIENTE._id = t1.id
>
> Accotto Maximiliano Damian
> escribió en el mensaje
> news:0bd001c3a45f$eefecbf0$
> Hola.
> Me gustaría saber, como hago para borrar los n ultimos o
> primeros registros en una tabla.
> Para mostrarlos me vale con usar la sentencia TOP:
> SELECT TOP 25 * FROM
> Pero para borralos con DELETE no me permite usar el TOP
> ¿Como puedo hacerlo?
> Gracias.
>
>


Respuesta Responder a este mensaje
#4 Carlos Sacristan
06/11/2003 - 15:30 | Informe spam
Pues eso es lo que quería puntualizar. No estaba diciendo que lo que
habías escrito estuviera mal, sino que quien lo fuera a utilizar lo tuviera
en cuenta



Un saludo

-
"Sólo sé que no sé nada. " (Sócrates)
MVP SQL Server
Por favor, responder únicamente al foro
Se agradece la inclusión de sentencias DDL


"Accotto Maximiliano D." escribió en el
mensaje news:OI$
Carlos!! se supone q los primeros 10 registros te los da el order by


dentro
de un Select!! sino si es como decis vos!! hay q ver q son para el usuario
los 10 primeros registros!! lo q yo mande como codigo es algo simple donde
se le puede obviamente agregar toda la complejidad q necesites
(joins,order,etc).

Un abrazo


Accotto Maximiliano Damian
"Carlos Sacristan" escribió en el mensaje
news:
>
> Lo que ocurre es que si utilizas TOP sin indicar un orden


específico,
no
> se garantiza que vayan a ser los registros que tú esperas
>
>
> Un saludo
>
> -
> "Sólo sé que no sé nada. " (Sócrates)
> MVP SQL Server
> Por favor, responder únicamente al foro
> Se agradece la inclusión de sentencias DDL
>
>
> "Accotto Maximiliano D." escribió


en
el
> mensaje news:
> > seria algo asi como:
> >
> > DELETE CLIENTES
> > FROM (SELECT TOP 10 * FROM CLIENTES) AS t1
> > WHERE CLIENTE._id = t1.id
> >
> > Accotto Maximiliano Damian
> > escribió en el mensaje
> > news:0bd001c3a45f$eefecbf0$
> > Hola.
> > Me gustaría saber, como hago para borrar los n ultimos o
> > primeros registros en una tabla.
> > Para mostrarlos me vale con usar la sentencia TOP:
> > SELECT TOP 25 * FROM
> > Pero para borralos con DELETE no me permite usar el TOP
> > ¿Como puedo hacerlo?
> > Gracias.
> >
> >
>
>


Respuesta Responder a este mensaje
#5 Mauricio
07/11/2003 - 00:10 | Informe spam
Podrías hacer algo como:

SET ROWCOUNT 25

DELETE
FROM Tabla


SET ROWCOUNT 0



Ing. Mauricio Bogliacino

escribió en el mensaje
news:0bd001c3a45f$eefecbf0$
Hola.
Me gustaría saber, como hago para borrar los n ultimos o
primeros registros en una tabla.
Para mostrarlos me vale con usar la sentencia TOP:
SELECT TOP 25 * FROM
Pero para borralos con DELETE no me permite usar el TOP
¿Como puedo hacerlo?
Gracias.
Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaSiguiente Respuesta Tengo una respuesta
Search Busqueda sugerida