Borrar datos todas tablas

12/09/2004 - 21:05 por Juan Pablo | Informe spam
Hola, quisiera poder borrar los datos de todas las tablas
de una base de datos de una manera rápida. ¿Hay algún
comando, script o truquillo con el que pueda hacerlo?
Muchas gracias

Preguntas similare

Leer las respuestas

#1 Adrian D. Garcia
13/09/2004 - 02:09 | Informe spam
Ideas que se me ocurren
1) Usar el sp no documentado ms_foreachtable
EXEC sp_MSForEachTable "truncate table ?"
El problema que veo es que si hay FK definidas tendras errores y solo
corriendo repetitivamente en anterior comando terminara eliminando todas las
tablas (tantas veces como niveles de FK anidados tengas)

2) Crear un script completo de la base de datos con el Enterprise Manager,
dropear la base de datos y volver a crearla a partir del script.



Saludos
Adrian D. Garcia
MCSD
NDSoft Consultoria y Desarrollo

"Juan Pablo" wrote in message
news:0bff01c498fb$7af730d0$
Hola, quisiera poder borrar los datos de todas las tablas
de una base de datos de una manera rápida. ¿Hay algún
comando, script o truquillo con el que pueda hacerlo?
Muchas gracias
Respuesta Responder a este mensaje
#2 Jorge
13/09/2004 - 05:17 | Informe spam
yo use este script, espero te sirva crea un cursor con el nombre de todas
las tablas
de usuario, deshabilita todos los constraints, elimina los datos y luego
habilita los constraints

jorge2ec


declare @tabla varchar(50)

declare micursor scroll cursor for
select name from sysobjects where xtype='U'


open micursor
fetch next from micursor into @tabla

while @@fetch_status=0
begin
exec('alter table '+@tabla+' nocheck constraint all')
fetch next from micursor into @tabla
end

fetch first from micursor into @tabla
while @@fetch_status=0
begin
exec('delete from '+@tabla)
fetch next from micursor into @tabla
end

fetch first from micursor into @tabla
while @@fetch_status=0
begin
exec('alter table '+@tabla+' check constraint all')
fetch next from micursor into @tabla
end


close micursor
deallocate micursor


"Juan Pablo" escribió en el mensaje
news:0bff01c498fb$7af730d0$
Hola, quisiera poder borrar los datos de todas las tablas
de una base de datos de una manera rápida. ¿Hay algún
comando, script o truquillo con el que pueda hacerlo?
Muchas gracias
Respuesta Responder a este mensaje
#3 Juan Pablo
15/09/2004 - 19:36 | Informe spam
Me ha funcionado de maravilla (bueno, tuve que hacer un
pequeño cambio porque mi base de datos está importada de
un programa antiguo y los nombres de las tablas tienen
espacio, tuve que añadir []).

Muchísimas gracias.

yo use este script, espero te sirva crea un cursor con el


nombre de todas
las tablas
de usuario, deshabilita todos los constraints, elimina


los datos y luego
habilita los constraints

jorge2ec


declare @tabla varchar(50)

declare micursor scroll cursor for
select name from sysobjects where xtype='U'


open micursor
fetch next from micursor into @tabla

while @@fetch_status=0
begin
exec('alter table '+@tabla+' nocheck constraint all')
fetch next from micursor into @tabla
end

fetch first from micursor into @tabla
while @@fetch_status=0
begin
exec('delete from '+@tabla)
fetch next from micursor into @tabla
end

fetch first from micursor into @tabla
while @@fetch_status=0
begin
exec('alter table '+@tabla+' check constraint all')
fetch next from micursor into @tabla
end


close micursor
deallocate micursor


"Juan Pablo"


escribió en el mensaje
news:0bff01c498fb$7af730d0$
Hola, quisiera poder borrar los datos de todas las tablas
de una base de datos de una manera rápida. ¿Hay algún
comando, script o truquillo con el que pueda hacerlo?
Muchas gracias


.

email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida