PDA

View Full Version : پاک کردن database



ali_mp64
جمعه 15 شهریور 1387, 14:07 عصر
سلام دوستان .

من یه دیتابیس دارم که برای فیلدهای Primary Key از Identity Increament استفاده کردم و برای تست برنامه دیتابیس رو پر کردم . حالا چه طوری می تونم کل دیتابیس رو پاک و Identity ها رو Reset کنم ؟

r_zamani
جمعه 15 شهریور 1387, 14:18 عصر
برای reset کردن identity ها کافیه design دیتابیس رو الکی تغییر بدی یعنی یک تغییر خیلی کوچیک که تو طرتحی منطقی دیتابیس تاثیر منفی نداره مثلا اندازه یک فیلد رو از 10 به 11 تغییر بده و تغییرات رو save کن اون وقت reset اتفاق میفته
البته قبل از این کار اطلاعات اون جدولی که یه همچین ستونی داره رو با delete from ... پاک کن

ali_mp64
جمعه 15 شهریور 1387, 14:53 عصر
من تعداد table هام خیلی زیاده . می خواستم دونه دونه برای تک تک table هام این کار رو نکنم .
راهی هست که بشه یه دفعه این کار رو کرد ؟

r_zamani
جمعه 15 شهریور 1387, 15:14 عصر
اطلاعات جدول ها رو میتونی با یک qurey پاک کنی
یعنی qurey برای delete هر جدول رو تو یک qurey بنویسی و بعد از هر کدوم یک go بذاری
که زیاد هم نوشتنش طول نمیکشه چون اسکریپت آماده اش هست....
ولی برای ریست راه دیگه ای رو امتحان نکردم
شاید از طریق دیاگرام راحتتر بتونی design رو تغییر بدی...

ali_mp64
جمعه 15 شهریور 1387, 20:47 عصر
کسی راه حلی نداره ؟

mannai29
شنبه 16 شهریور 1387, 14:56 عصر
شما می تونید جدولهاتون رو از sysobjects بخونید و درون یک cursor قرار بدید. اون وقت عبارت پاک کردن جدول رو با دستور truncate table TBLNAME درون یک رشته قرار دهید و اجراش کنید.به این ترتیب با cursor تک تک جدولهاتون رو می خونید و خالی می کنید.
truncate مقدار identity رو هم به ابتدا برمی گردونه;اگر چه راههای دیگه ای هم هست.پیروز باشید.

Elham_gh
شنبه 16 شهریور 1387, 15:53 عصر
سلام دوستان .

من یه دیتابیس دارم که برای فیلدهای Primary Key از Identity Increament استفاده کردم و برای تست برنامه دیتابیس رو پر کردم . حالا چه طوری می تونم کل دیتابیس رو پاک و Identity ها رو Reset کنم ؟

اگه مي خواي كليه جداولتو خالي كني، از كل dataBase يك script بگير .بعد DataBase رو پاك كن و script رو اجرا كن

sasan_vm
شنبه 16 شهریور 1387, 16:28 عصر
سلام
برای همه Table ها این کد را اجرا کنید


TRUNCATE TABLE MY_TABLE