zoukankan      html  css  js  c++  java
  • 删除所有约束、表、视图等SQL脚本

    --删除所有约束、表、视图等SQL脚本
    --###############################################
    --删除所有外键约束
    --###############################################
    DECLARE @SQL VARCHAR(99)
    DECLARE CUR_CONSTRAINT CURSOR LOCAL FOR
    SELECT
    'ALTER TABLE '+
    CASE WHEN O.schema_id IS NOT NULL THEN (SELECT NAME+'.' FROM sys.schemas WHERE schema_id = O.schema_id) ELSE '' END
    +OBJECT_NAME(parent_object_id)+' DROP CONSTRAINT '+OBJECT_NAME(object_id)
    FROM sys.objects AS O JOIN sys.schemas AS S on O.schema_id=S.schema_id
    WHERE O.type IN('C','D','F')
    OPEN CUR_CONSTRAINT
    FETCH CUR_CONSTRAINT INTO @SQL
    WHILE @@FETCH_STATUS =0
    BEGIN
    EXEC(@SQL)
    FETCH CUR_CONSTRAINT INTO @SQL
    END
    CLOSE CUR_CONSTRAINT
    DEALLOCATE CUR_CONSTRAINT
    --###############################################
    --删除所有视图(存储过程、函数等用同样的方法)
    --###############################################
    DECLARE @SQL VARCHAR(99)
    DECLARE CUR_VIEW CURSOR LOCAL FOR
    SELECT
    'IF OBJECT_ID('''+
    CASE WHEN O.schema_id IS NOT NULL THEN (SELECT NAME+'.' FROM sys.schemas WHERE schema_id = O.schema_id) ELSE '' END
    +OBJECT_NAME(object_id)
    +''') IS NOT NULL'+
    +' DROP VIEW '+
    CASE WHEN O.schema_id IS NOT NULL THEN (SELECT NAME+'.' FROM sys.schemas WHERE schema_id = O.schema_id) ELSE '' END
    +OBJECT_NAME(object_id)
    FROM sys.objects AS O JOIN sys.schemas AS S on O.schema_id=S.schema_id
    WHERE O.type IN('V')
    OPEN CUR_VIEW
    FETCH CUR_VIEW INTO @SQL
    WHILE @@FETCH_STATUS =0
    BEGIN
    EXEC(@SQL)
    FETCH CUR_VIEW INTO @SQL
    END
    CLOSE CUR_VIEW
    DEALLOCATE CUR_VIEW
    --###############################################
    -- 删除所有表
    --###############################################
    DECLARE @SQL VARCHAR(99)
    DECLARE CUR_TABLE CURSOR LOCAL FOR
    SELECT
    'DROP TABLE '+
    CASE WHEN O.schema_id IS NOT NULL THEN (SELECT NAME+'.' FROM sys.schemas WHERE schema_id = O.schema_id) ELSE '' END
    +O.name
    FROM sys.objects AS O JOIN sys.schemas AS S on O.schema_id=S.schema_id
    WHERE O.type='U'
    OPEN CUR_TABLE
    FETCH CUR_TABLE INTO @SQL
    WHILE @@FETCH_STATUS =0
    BEGIN
    EXEC(@SQL)
    FETCH CUR_TABLE INTO @SQL
    END
    CLOSE CUR_TABLE
    DEALLOCATE CUR_TABLE
    --###############################################
    再提供一下SQL Server里的OBJECT_ID函数object_type参数类型
    --###############################################
    OBJECT_ID(object_name,object_type)
    对象类型:
    AF =聚合函数(CLR)
    C = CHECK约束
    D = DEFAULT(约束或独立)
    F = FOREIGN KEY约束
    FN = SQL标量函数
    FS =大会(CLR)的标量函数
    FT =程序集(CLR)表值函数
    IF = SQL内联表值函数
    IT =内部表
    P = SQL存储过程
    电脑大会(CLR)存储过程
    PG =计划指南
    PK = PRIMARY KEY约束
    R =规则(旧式,单机)
    RF =复制过滤过程
    S =系统基表
    SN =同义词
    SQ =服务队列
    TA =组件(CLR)DML触发器
    TF = SQL表值函数
    TR = SQL DML触发器
    TT =表类型
    U =表(用户定义)
    UQ = UNIQUE约束
    V =视图
    X =扩展存储过程
    

      

  • 相关阅读:
    android手机上的app输入法遮挡输入框问题
    简单的百度地图使用
    简单的加入购物车动画效果,需引入外部js文件
    vue项目中axios跨域设置
    一次讲清promise
    js中宏任务,微任务,异步,同步,执行的顺序
    vantUI <van-uploader> 上传图片,如何获取图片的尺寸
    Vue双向绑定原理 从vue2的Object.defineProperty到vue3的proxy
    微信浏览器h5页面开发遇到问题
    Web前端优化最佳实践及工具集锦
  • 原文地址:https://www.cnblogs.com/early-moon/p/8523864.html
Copyright © 2011-2022 走看看