ورود

View Full Version : خیلی حرفه ای , حلقه ها و اجرای کوئری بر روی دیتابیس



m.esmaeilzadeh
شنبه 29 فروردین 1394, 20:26 عصر
دوستان این کوئری کمی سخت هستش , اگر میشه بفرمایید شدنی هست یا نه ؟!

مراحل کار به شکل زیر خواهد بود :

1 - ابتدا با دستوری شبیه به show tables اسامی کل جداول دیتابیس رو بدست بیاریم

2 - یکم حلقه بنویسیم روی نتایج یا result کوئری بخش اول و بعد دستور زیر رو اجرا کنیم:

delete from XXXX

توجه : در حقیقت XXXX نام جدول است که از طریق اون حلقه روی مرحله 1 بدست میاد !!!

یعنی حلقه که اجرا میشه XXXX برای هر ردیف حلقه نام یک جدول خواهد بود ....

بنظر شما اینکار شدنی هستش ؟!

ممنون

SabaSabouhi
یک شنبه 30 فروردین 1394, 02:24 صبح
دوستان این کوئری کمی سخت هستش , اگر میشه بفرمایید شدنی هست یا نه ؟!

مراحل کار به شکل زیر خواهد بود :

1 - ابتدا با دستوری شبیه به show tables اسامی کل جداول دیتابیس رو بدست بیاریم

2 - یکم حلقه بنویسیم روی نتایج یا result کوئری بخش اول و بعد دستور زیر رو اجرا کنیم:

delete from XXXX

توجه : در حقیقت XXXX نام جدول است که از طریق اون حلقه روی مرحله 1 بدست میاد !!!

یعنی حلقه که اجرا میشه XXXX برای هر ردیف حلقه نام یک جدول خواهد بود ....

بنظر شما اینکار شدنی هستش ؟!

ممنون

سلام
بله شدنی هست.


EXEC sp_MSforeachtable @command1="DELETE FROM ?"

صبا صبوحی

m.esmaeilzadeh
یک شنبه 30 فروردین 1394, 10:20 صبح
اگر میشه در موردش توضیح بدید , چون فکر کنم خیلی کلی نوشته شده !
در حقیقت این کوئری رو برای mysql میخوام
ممنون

محمد آشتیانی
یک شنبه 30 فروردین 1394, 11:43 صبح
تاپیک به بخش MySql منتقل شد.

homayoun_c
پنج شنبه 03 اردیبهشت 1394, 12:24 عصر
Select Distinct 'Delete '+ TABLE_NAME from YourDatabaseName.INFORMATION_SCHEMA.COLUMNS

behnamy01
جمعه 04 اردیبهشت 1394, 18:38 عصر
اگر درست متوجه شده باشم شما میخواین نام تمام table های یک دیتابیس رو بگیرید و بعد با یک حلقه تمام اون table ها رو پاک کنید! سوالی که پیش میاد اینه که چرا کل دیتابیس رو از اول پاک نمی کنید؟!!