>  기사  >  데이터 베이스  >  回收数据表Ⅰ

回收数据表Ⅰ

WBOY
WBOY원래의
2016-06-07 17:38:37874검색

回收数据表Ⅰ 偶尔想做个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

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.