چطور میتونم با یک دستور sql اطلاعات چند جدول رو بطور همزمان پاک کنم ؟
چطور میتونم با یک دستور sql اطلاعات چند جدول رو بطور همزمان پاک کنم ؟
سلام.
شما یا باید اطلاعات همه جداول رو حذف کنید یا در داخل یک حلقه اینکارو انجام بدید( البته در SQL server )
با استفاده از دستو رMs_ForeachTable میتوانید اینکارو بکنید. اگر در سایت جستجو کنید مثالهای زیادی برای اون وجود داره.
Telegram : @SQL_Server
سلام
پیشنهاد من هم truncate کردنه :truncate table table_name
البته این دستور رو باید در sql اجرا کنین
با این دستور تیبلتون کلا ریست میشه و رکوردهای اون هم پاک میشه
دستور Truncate فقط برای یک جدوله. در ضمن اون جدول نیز نباید هیچ Relation داشته باشه وگرنه دچار خطا میشه.
Telegram : @SQL_Server
با شما موافقم جناب صادقیان
مثلا شما یه تیبل اصلی دارین که یکی از فیلداش نام شهره.(که ما تو این تیبل به هر شهر یه کدی نسبت میدیم مثلا کد 0511) و یه تیبل دیگه ای واسه شهر داریم(که سه تا فیلد داره id و و Code_City , Name_City که مثلا این هم دارای اطلاعات 1 و مشهد و 0511 هست و این code_city در اصل همون کلید خارجیمونه).حالا اگه یه Rilation بین این دو تا باشه منطق sql اجازه نمیده بتونیم مشهد رو از تیبل شهرمون پاک کنیم چون اون وقت تیبل اصلی ما نمیدونه که code_city اون به کدوم شهر اشاره میکنه.
البته شما که استاد مایین و هدف متد یادگیری این روش به سایر دوستان هست
در ضمن میشه یه پروسیجر تو اس کیو ال نوشت و تیبل ها رو گروهی truncate کرد(البته بشرطی که مورد بالا رعایت بشه)
موفق باشید
بله میتوان با یک حلقه اینکارو کرد.ولی برای اینکار شما باید یک Procedure طولانی بنویسید. ولی اگر از SP_MSforeachtable استفاده کنید با یک خط تمامی داده های جداول حذف خواهند شد.!
Telegram : @SQL_Server
سلام
با این کد تمام محتویات جدول ها خالی میشه
exec sp_MSforeachtable 'delete from?'
ولی فیلد های که کلید اصلی هستند و auto incremetn هستند از صفر شروع نمی شه. راهی وجود داره که مقدار کلید های اصلی تو جدول ها هم از صفر شروع بشه ؟
شما میتوانید دستور Dbcc checkident با ترکیب این دستور به مقصودتون برسید.
Telegram : @SQL_Server