博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
sqlserver 生成脚本执行创建索引
阅读量:5123 次
发布时间:2019-06-13

本文共 1820 字,大约阅读时间需要 6 分钟。

create or alter proc SP_CreateIndex

as
begin
if exists(select * from sys.objects where name='execsql')
begin
drop table execsql;
end
create table execsql(id int identity(1,1),sqlstr varchar(1000),flag varchar(255));
--创建索引
insert into execsql(sqlstr,flag)
select 'create index IX_PK_'+a.FieldName+' on '+b.TableName+'('+a.FieldName+')' ,''from ResourceConfigurationDetail a
inner join ResourceConfiguration b
on a.FID=b.ID
where a.FieldType is not null;
--创建intime 索引
insert into execsql(sqlstr,flag)
select 'create index IX_PK_INTIME ON ' +a.tablename+'(INTIME)','' from ResourceConfiguration a;
print('创建索引脚本生成');
begin
declare @sql nvarchar(2000) ,@id int
declare cur_order cursor for --申明游标
select id,sqlstr from MultipleAnalysisFY.[dbo].[execsql] where flag<>'1' order by id
open cur_order --打开游标
fetch next from cur_order into @id,@sql
RAISERROR ('执行开始......', 10, 1) WITH NOWAIT
while @@FETCH_STATUS=0
begin
declare @info varchar(255)
set @info= @sql+'正在执行,本次id为'+convert(varchar(10),@id)+'当前时间:'+convert(varchar(100),getdate(),120);
RAISERROR (@info, 10, 1) WITH NOWAIT
begin try
set @sql= 'use MultipleAnalysisDataFY;'+@sql+';';
EXEC sp_executesql @sql;--执行脚本
declare @info1 varchar(255)
set @info1= @sql+'执行完成,当前时间:'+convert(varchar(100),getdate(),120);
update MultipleAnalysisFY.[dbo].[execsql] set flag='1' where id=@id
RAISERROR (@info1, 10, 1) WITH NOWAIT
end try
begin catch
declare @error varchar(255)
set @error='执行错误,错误信息id:'+convert(varchar(10),@id)+',错误信息:'+ERROR_MESSAGE();
RAISERROR (@error, 10, 1) WITH NOWAIT
RAISERROR (@sql, 11, 1) WITH NOWAIT
end catch
fetch next from cur_order into @id,@sql
end
close cur_order --关闭游标
DEALLOCATE cur_order--释放游标
print('任务处理完成');
drop table MultipleAnalysisFY.[dbo].[execsql];
end
end

--调用

exec SP_CreateIndex

转载于:https://www.cnblogs.com/wlzhang/p/9920890.html

你可能感兴趣的文章
【转】android程序连接网络出现android.os.NetworkOnMainThreadExceptionat
查看>>
编程是一门实践性的科学
查看>>
判断 JS 中对象的类型
查看>>
从燃尽图看项目管理:你的项目哪里出错了?(燃尽图类型全解析)
查看>>
Python模块及其导入
查看>>
20172329 2017-2018-2 《程序设计与数据结构》实验一报告
查看>>
验证码
查看>>
代码实践
查看>>
学习曾国藩,学做人做事学技术
查看>>
【例3-4】求后序遍历
查看>>
python批量操作Linux服务器脚本,ssh密码登录(执行命令、上传、下载)(一)...
查看>>
如何优化虚拟桌面
查看>>
[jQuery] jQuery函数
查看>>
[NOIP2010提高组]关押罪犯
查看>>
线段树(单点更新(模板)) 之 hdu 1166
查看>>
数学 之 hdu 4861
查看>>
模拟退火
查看>>
LDA-Latent Dirichlet Allocation 学习笔记
查看>>
pyCharm最新2018激活码
查看>>
java-web的mybatis的学习
查看>>