zoukankan      html  css  js  c++  java
  • 删除当前数据库下面的所有用户表存储过程

    -- 删除数据库的所有表、存储过程、主键、外键、索引等
    --删除数据库中的所有表
    exec sp_msforeachtable 'drop table ?' 
    go
     --删除存储过程
    DECLARE @STRING VARCHAR(8000)
    WHILE EXISTS(SELECT NAME FROM SYSOBJECTS WHERE TYPE='P' AND STATUS>=0)
    BEGIN
    SELECT @STRING='DROP PROCEDURE '+NAME FROM SYSOBJECTS WHERE TYPE = 'P' AND STATUS>=0
    --SELECT @STRING
    EXEC(@STRING)
    END

    GO

    --默认值或 DEFAULT 约束
    DECLARE @STRING VARCHAR(8000)
    WHILE EXISTS(SELECT NAME FROM SYSOBJECTS WHERE XTYPE='D')
    BEGIN
    SELECT @STRING='ALTER TABLE '+B.NAME+' DROP CONSTRAINT '+A.NAME
    FROM (SELECT PARENT_OBJ,NAME FROM SYSOBJECTS WHERE XTYPE='D') A,
    (SELECT ID,NAME FROM SYSOBJECTS WHERE OBJECTPROPERTY(ID, N'ISUSERTABLE') = 1) B
    WHERE A.PARENT_OBJ=B.ID
    EXEC(@STRING)
    END

    GO

    --UNIQUE 约束
    DECLARE @STRING VARCHAR(8000)
    WHILE EXISTS(SELECT NAME FROM SYSOBJECTS WHERE XTYPE='UQ')
    BEGIN
    SELECT @STRING='ALTER TABLE '+B.NAME+' DROP CONSTRAINT '+A.NAME
    FROM (SELECT PARENT_OBJ,NAME FROM SYSOBJECTS WHERE XTYPE='UQ') A,
    (SELECT ID,NAME FROM SYSOBJECTS WHERE OBJECTPROPERTY(ID, N'ISUSERTABLE') = 1) B
    WHERE A.PARENT_OBJ=B.ID
    EXEC(@STRING)
    END

    GO

    --FOREIGN KEY 约束
    DECLARE @STRING VARCHAR(8000)
    WHILE EXISTS(SELECT NAME FROM SYSOBJECTS WHERE TYPE='F')
    BEGIN
    SELECT @STRING='ALTER TABLE '+B.NAME+' DROP CONSTRAINT '+A.NAME
    FROM (SELECT PARENT_OBJ,NAME FROM SYSOBJECTS WHERE TYPE='F') A,
    (SELECT ID,NAME FROM SYSOBJECTS WHERE OBJECTPROPERTY(ID, N'ISUSERTABLE') = 1) B
    WHERE A.PARENT_OBJ=B.ID
    EXEC(@STRING)
    END

    GO

    --PRIMARY KEY 约束
    DECLARE @STRING VARCHAR(8000)
    WHILE EXISTS(SELECT NAME FROM SYSOBJECTS WHERE XTYPE='PK')
    BEGIN
    SELECT @STRING='ALTER TABLE '+B.NAME+' DROP CONSTRAINT '+A.NAME
    FROM (SELECT PARENT_OBJ,NAME FROM SYSOBJECTS WHERE XTYPE='PK') A,
    (SELECT ID,NAME FROM SYSOBJECTS WHERE OBJECTPROPERTY(ID, N'ISUSERTABLE') = 1) B
    WHERE A.PARENT_OBJ=B.ID
    EXEC(@STRING)
    END

    GO

    --触发器
    DECLARE @STRING VARCHAR(8000)
    WHILE EXISTS(SELECT NAME FROM SYSOBJECTS WHERE XTYPE='TR')
    BEGIN
    SELECT @STRING='DROP TRIGGER '+NAME FROM SYSOBJECTS WHERE XTYPE='TR'
    EXEC(@STRING)
    END

    GO

    --索引
    declare @string varchar(8000)
    while exists(
    select TABLE_NAME= o.name,INDEX_NAME= x.name
    from sysobjects o, sysindexes x, syscolumns c, sysindexkeys xk
    where o.type in ('U')
    and convert(bit,(x.status & 0x800)/0x800)=0
    and x.id = o.id
    and o.id = c.id
    and o.id = xk.id
    and x.indid = xk.indid
    and c.colid = xk.colid
    and xk.keyno <= x.keycnt
    and permissions(o.id, c.name) <> 0
    and (x.status&32) = 0 -- No hypothetical indexes
    group by o.name,x.name)
    begin
    select top 1 @string='drop index '+o.name+'.'+ x.name
    from sysobjects o, sysindexes x, syscolumns c, sysindexkeys xk
    where o.type in ('U')
    and convert(bit,(x.status & 0x800)/0x800)=0
    and x.id = o.id
    and o.id = c.id
    and o.id = xk.id
    and x.indid = xk.indid
    and c.colid = xk.colid
    and xk.keyno <= x.keycnt
    and permissions(o.id, c.name) <> 0
    and (x.status&32) = 0 -- No hypothetical indexes
    group by o.name,x.name
    exec(@string)
    end
    GO


  • 相关阅读:
    python验证码识别——前处理
    因为应用程序正在发送一个输入同步呼叫,所以无法执行传出的呼叫 解决方法
    Basic Authentication Authentication with Python(翻译草稿)
    闭包初探
    为朋友写的一个投票功能的提交代码
    Ulipad中Script的编写
    SharePoint 2010 Error occurred in deployment step 'Activate Features': Feature Id 解决方法
    SharePoint 2010 传入电子邮件
    SharePoint2010 InfoPath2010 该表单无法显示 Server State Service配置不当 解决方法
    SharePoint 2010 客户端不支持使用windows资源管理器打开此列表 解决方法
  • 原文地址:https://www.cnblogs.com/aflyfly/p/1569465.html
Copyright © 2011-2022 走看看