求批量创建索引的sql2000的语句,比如表名字是以B打头的所有表,批量创建它们的聚合索引,(它们的表结构一样)

UFOBH 2008-03-13 11:54:20
求批量创建索引的sql2000的语句,比如表名字是以"k"打头的所有表,批量创建它们的聚合索引,(它们的表结构一样)


我想一次性创建完成,表太多了
...全文
123 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
friendlyFour 2008-03-13
  • 打赏
  • 举报
回复
Declare @Name varchar(100)
Declare @strSql varchar(8000)

Declare icursor cursor
for
select name from sysobjects where xType = 'U' and left(name,1) = 'k'

open icursor
fetch next from icursor into @Name

while (@@fetch_status=0)
begin
set @strSql = 'CREATE CLUSTERED INDEX index_'+@Name+' ON '+@Name+' ([UserID] ASC,[CourseID] ASC) ON [PRIMARY]'
exec(@strSql)
set @strSql = ''
fetch next from icursor into @Name
end

close icursor
deallocate icursor
没有测试,有问题自行解决。
忆轩辕 2008-03-13
  • 打赏
  • 举报
回复
将库中所有以'K'开头的表名放进临时表(表名varchar(50),标识identity(1,1))中,再用循环拼接字符串exec执行

34,588

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧