• Sql Server 删除所有表


    如果由于外键约束删除table失败,则先删除所有约束:

    --/第1步**********删除所有表的外键约束*************************/

    DECLARE c1 cursor for

    select 'alter table ['+ object_name(parent_obj) + '] drop constraint ['+name+']; '

    from sysobjects

    where xtype = 'F'

    open c1

    declare @c1 varchar(8000)

    fetch next from c1 into @c1

    while(@@fetch_status=0)

    begin

    exec(@c1)

    fetch next from c1 into @c1

    end

    close c1

    deallocate c1

    --/第2步**********删除所有表*************************/

    DECLARE c2 cursor for
        select 'drop table ['+name +']; '
        from sysobjects
        where xtype = 'u' and name like '_%'-----------建立数据库时最好加上前缀,删除的时候匹配前缀就可以了 ,匹配下划线可以删除所有表,原因未知
    open c2
    declare @c2 varchar(8000)
    fetch next from c2 into @c2
    while(@@fetch_status=0)
        begin
            exec(@c2)
            fetch next from c2 into @c2
        end
    close c2
    deallocate c2

    --删除所有的存储过程同理可得,但不需要走第一步,只需将第2步的代码的where type='U' 改成 where type='P',drop table 改成 drop Procedure。

    如删除数据库izhanshi:

    复制代码

    --/第1步**********删除所有表的外键约束*************************/
    
    DECLARE c1 cursor for
    select 'alter table ['+ object_name(parent_obj) + '] drop constraint ['+name+']; '
    from sysobjects
    where xtype = 'F'
    open c1
    declare @c1 varchar(8000)
    fetch next from c1 into @c1
    while(@@fetch_status=0)
    begin
    exec(@c1)
    fetch next from c1 into @c1
    end
    close c1
    deallocate c1
    
    --/第2步**********删除所有表*************************/
    
    use izhanshi
    GO
    declare @sql varchar(8000)
    while (select count(*) from sysobjects where type='U')>0
    begin
    SELECT @sql='drop table ' + name
    FROM sysobjects
    WHERE (type = 'U')
    ORDER BY 'drop table ' + name
    exec(@sql) 
    end

    复制代码

  • 相关阅读:
    装java开发环境 报client/jvm.dll找不到
    json expected name at 1 1
    svn右键菜单不显
    win10 随记
    eclipse配置打开选中文件存储的目录快捷配置
    mybatis 常见面试题
    java 求取昨天日期
    字符串反转记录总结
    @RequestMapping 无法加载
    expected at least 1 bean which qualifies as autowire candidate for this depe (spring无法注入)
  • 原文地址:https://www.cnblogs.com/jiangxin/p/4494538.html
Copyright © 2020-2023  润新知