zoukankan      html  css  js  c++  java
  • SQLServer清空数据库中所有表的数据

      今早同事跟进客户反馈的问题时,提了个要求,要求清空数据库中所有表的数据。

      记得之前用游标遍历所有的表名 + exec 动态语句 truncate table 表名 实现过这个功能。

      网上搜了下,有更简单的方法:  

      CREATE PROCEDURE sp_DeleteAllData
      AS

        --禁用约束和触发器
        EXEC sp_MSForEachTable 'ALTER TABLE ? NOCHECK CONSTRAINT ALL'
        EXEC sp_MSForEachTable 'ALTER TABLE ? DISABLE TRIGGER ALL'

        --删除所有数据
        EXEC sp_MSForEachTable 'DELETE FROM ?'

        --还原约束和触发器
        EXEC sp_MSForEachTable 'ALTER TABLE ? CHECK CONSTRAINT ALL'
        EXEC sp_MSForEachTable 'ALTER TABLE ? ENABLE TRIGGER ALL'

        --显示每个表中的记录
        EXEC sp_MSFOREACHTABLE 'SELECT * FROM ?'
      GO  

      exec sp_DeleteAllData

      用SQL Server 2000数据库测试了下,确实可以实现。

      参考:http://blog.csdn.net/yinxiaoqi/article/details/5809944

  • 相关阅读:
    java实现同步的两种方式
    JAVA线程概念
    XML基础总结
    JAVA使用和操作properties文件
    JAVA序列化基础知识
    easyui 在编辑状态下,动态修改其他列值。
    Activiti初学问题,求解
    java web--DOM
    java web(1)
    Java WEB
  • 原文地址:https://www.cnblogs.com/mozzie/p/4527281.html
Copyright © 2011-2022 走看看