webForumDet fria alternativet

DELETE * FROM Databas (sql server 2005)

Databaser & SQL

4 svar · 665 visningar · startad av doggelito

Medlem sedan juni 20003 076 inlägg
Frågan#1

Jag skulle vilja tömma alla tabeller i en databas, nån som vet om det finns nån system.sp eller liknande som fixar detta?
Eller kan man radera datafilen? törs man det?

Jag vill alltså inte behöva generera script på databasen, radera den och sedan köra scriptet för att skapa den på nytt! Utan bara tömma den helt.

Medlem sedan juli 2006461 inlägg
#2

TRUNCATE TABLE "table_name"
Den tömmer datan i databasen men behåller strukturen. Gissar på att det var det du ville? :)

Medlem sedan juni 20003 076 inlägg
#3

Njae, inte riktigt.
Det är så himla många tabeller i databasen, å då får jag köra koden, ändra tabellnamn, köra igen osv. tills jag gått igenom alla tabeller.
Skulle gärna vilja slippa det! :)

Medlem sedan dec. 200012 464 inlägg
Medlem sedan juni 20003 076 inlägg
#5

Kalas LarsG! :bire
Färdig kod om nån behöver:

Set nocount on

Exec sp_MSForEachTable 'Alter Table ? NoCheck Constraint All'

Exec sp_MSForEachTable
'
If ObjectProperty(Object_ID(''?''), ''TableHasForeignRef'')=1
Begin
-- Just to know what all table used delete syntax.
Print ''Delete from '' + ''?''
Delete From ?
End
Else
Begin
-- Just to know what all table used Truncate syntax.
Print ''Truncate Table '' + ''?''
Truncate Table ?
End
'

Exec sp_MSForEachTable 'Alter Table ? Check Constraint All'

Tagen från:
http://64.233.183.104/search?q=cache:Dav-aOzyIVMJ:vadivel.blogspot.com/2006/07/easiest-fastest-way-to-delete-all.html+sp_MSforeachtable+2005+delete&hl=sv&gl=se&ct=clnk&cd=5

259 ms totalt · 4 externa anrop · v20260731065814-full.6fe65c25
127 ms — deklarationer (db)
0 ms — hämta statistik (cache)
129 ms — hämta tråd, inlägg och bilagor (db)
128 ms — ändringar (db)