删除指定表的所有索引,包括主键索引,唯一索引和普通索引 ,适用于sql server 2005,
2023-09-14 09:00:19 时间
--删除指定表中所有索引 --用法:declare @tableName varchar(100) --set @tableName='表名' --表名 ,根据实际情况替换 --exec sp_dropindex @tableName if exists(select 1 from sysobjects where id = object_id('dropindex') and xtype = 'P') drop procedure dropindex go create procedure dropindex @tableName varchar(100)=null --表名 as if @tableName is null begin raiserror('必须提供@tableName参数',12,1) return end create table # ( id int identity, index_name varchar(50), index_description varchar(1000), index_keys varchar(100) ) insert #(index_name,index_description,index_keys) exec sp_helpindex @tableName declare @i int declare @sql varchar(100) set @i = 1 while @i<=(select max(id) from #) begin if exists(select 1 from sysobjects A join # B on A.name=B.index_name where B.id=@i and A.xtype in ('PK','UQ')) begin select @sql = 'alter table '+ @tableName +' drop constraint ' + (select index_name from # where id = @i) end else begin select @sql = 'drop index '+ @tableName + '.' + (select index_name from # where id=@i) end -- print(@sql) exec(@sql) set @i=@i+1 end drop table # go
先执行上面的SQL语句,然后再执行此存储过程即可
--删除索引 declare @tableName varchar(100) set @tableName='table' --表名 ,根据实际情况替换 exec dropindex @tableName GO
相关文章
- SQL手工注入漏洞测试(Sql Server数据库)
- 浅述SQL Server的聚焦强制索引查询条件和Columnstore Index
- SQL Server 提取数字、提取英文、提取中文的sql语句
- SQL SERVER数据库重建索引的方法
- SQL SERVER 表与表之间 字段一对多sql语句写法
- 优化SQL Server性能:精准利用索引(sqlserver索引的使用)
- 合索引深入理解:打开SQL Server组合索引的秘密(打开sqlserver组)
- SQL Server中 建立好的索引提升查询效率(建索引sqlserver)
- SQL Server下的勤勉与哲学:改变你的思考方式(勤哲sqlserver)
- SQL Server中索引的作用和构建(sqlserver的索引)
- 量索引性能?使用SQL Server监测索引性能的有效方法(sqlserver如何度)
- 索引倒序索引在SQL Server中的使用(sqlserver 倒序)
- 优化SQL Server数据库性能:新增索引(sqlserver加索引)
- 甲,打败SQL Server乙超级武装Oracle甲战胜SQL server乙(exp 武装oracle)