zoukankan      html  css  js  c++  java
  • sql 删除数据库表 外键

    --/第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 TEST
    GO
    declare @sql varchar(5000)
    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

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

    删除视图

    删除所有视图   declare   @sql2   varchar(8000)  set   @sql2= ''  select   @sql2=@sql2+ ', '+name   from   sysobjects  where   type= 'V '   and   name   not   in( 'syssegments ',   'sysconstraints ')  set   @sql2= 'drop   view   '+stuff(@sql2,   1,   1,   ' ')  exec(@sql2)  GO

  • 相关阅读:
    三、Oracle 查询+where条件
    二、Oracle 数据库基本操作
    一、Oracle 安装
    18.JAVA经典编程题(50题及答案)
    17.网络编程
    16.xml
    Js模块化开发--seajs和gruntJs
    git命令行指南
    nodejs学习笔记---1
    面向对象及组件开发---笔记1
  • 原文地址:https://www.cnblogs.com/zhang-wenbin/p/6197386.html
Copyright © 2011-2022 走看看