0
پاک کردن جدول
با سلام
مثلا ما یک دیتابیس بنام Data داریم که 50 تا جدول توش هس
آیا میشه هرکدوم از جدول هایی که خالی هستن یعنی هیچ داده ای ندارن رو به صورت یکجا پاک کنیم ؟ (یعنی کد بنویسیم که هرکدوم از جدول ها داده ندارن رو حذف کن)
1 پاسخ
1
سلام، اول این دستور را اجرا کنید
use [Your database name]
بعد این دستورات را
declare @counter int, @talblesCount int set @counter = 0 set @talblesCount = (select count(*) from INFORMATION_SCHEMA.TABLES) while @talblesCount > @counter begin declare @tableName nvarchar(1000), @tableSchema nvarchar(1000), @query nvarchar(max), @tableRecordsCount int set @tableSchema = (select [TABLE_SCHEMA] FROM INFORMATION_SCHEMA.TABLES order by [TABLE_NAME] offset @counter rows fetch next 1 rows only) set @tableName = (select [TABLE_NAME] FROM INFORMATION_SCHEMA.TABLES order by [TABLE_NAME] offset @counter rows fetch next 1 rows only) select @query = N'select @tableRecordsCount = count(*) from [' + @tableSchema + '].[' + @tableName + ']' exec sp_executesql @query, N'@tableRecordsCount int output', @tableRecordsCount output if @tableRecordsCount = 0 begin execute('drop table [' + @tableSchema + '].[' + @tableName + ']') end set @counter = @counter + 1 end print 'The operation done!'
موفق باشید.