Home  >  Article  >  Database  >  回收数据表Ⅰ

回收数据表Ⅰ

WBOY
WBOYOriginal
2016-06-07 17:38:37874browse

回收数据表Ⅰ 偶尔想做个SQL小实验,打开SQL Server Management Studio--打开一数据库,里全乱七八糟的表一大堆,看着心烦,就想把里面的表全干掉.简单想了想,搞个循环来实现吧: ,( 20 );; (id INT IDENTITY ,NAME VARCHAR ( 30 )); NOCOUNT a.name FROM s

回收数据表Ⅰ

  偶尔想做个SQL小实验,打开SQL Server Management Studio-->打开一数据库,里全乱七八糟的表一大堆,看着心烦,就想把里面的表全干掉.简单想了想,搞个循环来实现吧:   

,(20);; (id INT IDENTITY,NAME VARCHAR(30)); NOCOUNT a.name FROM sysobjects a sysindexes b b.indida.nameNAME id=@i; ) ; NOCOUNT OFF

  执行,OK!

  有木有更简单的方式呢?答案是肯定的,SQL为我们预留了很多系统级的存储过程,,有时候偷偷用用也不错,用sp_MSforeachtable来做这件事情就很省事,一行代码就可以搞定:

   这个存储过程的使用方式还有很多,这里就不瞎说了,有兴趣的 Baidu 一下,资料有很多。

  看到这里有的朋友不禁要说了,这个傻帽,干掉所有的表哪要这么麻烦,直接干掉库不更省事?……,其实上面的方式原本是用在 TRUNCATE TABLE 上的,这里我不过临时征用一下。当然上面的方式也不是没有问题,比方有外键约束的时候执行会抛出异常。哈哈,我在建表的时候不太喜欢使用约束,这个问题我就自动无视了。后面的Blog中我会贴出有约束、外键的情况,这些完全不是问题。

posted on

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn