一切福田,不離方寸,從心而覓,感無不通。

清空SQL SERVER数据库中所有指定表中数据的解决方案

我们都知道,如果是清空数据库中所有表的数据的,那比较好办,只要利用系统表sys.tables查询出数据库中所有表信息,然后再用游标循环清空就好了,附SQL语句如下:

 

有关sys.tables的用法,请参考本站:
利用SQL语句查询数据库中所有表

 但有时候我们是要有选择性的清空某些表信息,小编最近就遇到这种情况,我只需清空小编负责的ERP系统中的所有业务流程数据,而基础信息与系统配置信息是不能被清除的,怎么办呢?为了达了快速与重复利用的目的,小编把自己的解决方案附下:
 先创建一个配置表,表名为:Sys_TableExtendedProperties
表字段如下:
TableName-存储系统中所有表的表名
IsSystem-指定表是否为系统表
IsBaseInformation-指定表是否为基础数据表
……
其它字段,请大家根据自己的需要添加
然后我们将所有表的信息添加到表中(此步骤虽然烦琐,但为了以后的快速调用,现在烦琐点也是值得的),然后,我们写一个存储过程来清空指定数据。

 

现在,我们任意时候想清空指定表数据时,执行该存储过程即可。

转自:http://www.lmwlove.com/ac/ID637