34,575
社区成员
发帖
与我相关
我的任务
分享
declare @temp table(schematable varchar(100))
declare @tablename varchar(100)
insert into @temp
(schematable)
select s.name + '.' + t.name
from sys.tables t
inner join sys.schemas s
on t.schema_id = s.schema_id
where t.type_desc = 'User_table'
--while循环结构
while (select COUNT(*) from @temp ) > 0
begin
select top (1) @tablename = schematable
from @temp
exec sp_spaceused @tablename; --输出当前数据库中每个表的空间使用情况
delete from @temp
where schematable = @tablename
--if-else分支结构
if( (select COUNT(*) from @temp)=0 )
begin
--延迟10秒
waitfor delay '00:00:10'
exec sp_spaceused; --输出当前数据库的空间使用情况
break;
end
else
begin
continue;
end
end
--while,continue,break用法
declare @i int
set @i=1
while @i<20
begin
set @i=@i+1
if @i<=19
continue
print @i
end
declare @i int
set @i=1
while @i<20
begin
if @i=19
break
print @i
set @i=@i+1
end