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!'
موفق باشید.