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

最新文章

  1. ul和dl的区别
  2. app接口的简单案例 和一些总结
  3. hive中的一些参数
  4. 调研Android平台开发环境的发展演变
  5. [转]WEB开发者必备的7个JavaScript函数
  6. mysql.server 文件修改起动多实例
  7. openstack(liberty): devstack之screen
  8. Eclipse下使用Hadoop单机模式调试MapReduce程序
  9. HDOJ/HDU 1556 Color the ball(树状数组)
  10. finalize过程
  11. Java EE 开发环境搭建
  12. PKU《程序设计》专项课程_递归汉诺塔问题
  13. 如何快速扫描C段(网站快照、后台识别/登录、目录扫描)
  14. js 获取当前时间 年月日
  15. Python 单例模式讲解
  16. 基础邮件原理(MUA,MTA,MDA)
  17. 为gridview的每个单元格添加鼠标悬停提示文本(tooltip)
  18. asp.net session 保存实体类对象
  19. WPF 中使用附加属性,将任意 UI 元素或控件裁剪成圆形(椭圆)
  20. Django 项目CRM总结

热门文章

  1. 【Python 25】52周存钱挑战5.0(datetime库和import)
  2. 【English 】20190319
  3. Benchmarking Apache Kafka: 2 Million Writes Per Second (On Three Cheap Machines)
  4. 11-page分页原理
  5. WiFi广告强推的基本技术原理和一些相关问题
  6. ubuntu下安装飞鸽传书
  7. 《通过C#学Proto.Actor模型》之 HelloWorld
  8. Linux利用mysql建立数据库
  9. hadoop用户写入文件权限不够的问题
  10. Linux(Ubuntu)使用日记(三)------git安装使用