webForumDet fria alternativet

DELETE * FROM Databas (sql server 2005)

4 svar · 665 visningar · startad av doggelito

doggelitoMedlem sedan juni 20003 100 inlägg
#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.

TheMagnusMedlem sedan juli 2006175 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? :)

doggelitoMedlem sedan juni 20003 100 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! :)

LarsGMedlem sedan dec. 200012 465 inlägg
doggelitoMedlem sedan juni 20003 100 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

Genererad på 369 ms · cache AV · v20260730165559-full.f96bc7eb