zoukankan      html  css  js  c++  java
  • 删除指定表的所有索引,包括主键索引,唯一索引和普通索引 ,适用于sql server 2005,

    --删除指定表中所有索引
    --用法: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
    
  • 相关阅读:
    Python:完全数
    Python:将 list 写入一个 txt 文件
    Python:对称数组
    Python:列表反转、切片
    Python:print输出间隔,换行
    Python:打印99乘法表
    Python:排序(sort / 冒泡排序)
    安装pipenv
    flex布局
    python正则表达式
  • 原文地址:https://www.cnblogs.com/amylis_chen/p/3892651.html
Copyright © 2011-2022 走看看