【SqlServer】empty table and delete table and create table

1.建表

1 IF object_id (N'表名', N'U') IS NULL CREATE TABLE 表名 (
2     id INT IDENTITY (1, 1) PRIMARY KEY ,......);

2.查询所有满足条件的表

 
1 SELECT
2     NAME
3 FROM
4     sys.objects
5 WHERE
6     type = 'u'
7 AND NAME LIKE 'test_%';
 

3.批量删除满足条件的表

 
 1 DECLARE
 2     @NAME VARCHAR (50)
 3 WHILE (
 4     EXISTS (
 5         SELECT
 6             *
 7         FROM
 8             sysobjects
 9         WHERE
10             NAME LIKE 'test_%'
11     )
12 )
13 BEGIN
14     SELECT
15         @NAME = NAME
16     FROM
17         sysobjects
18     WHERE
19         NAME LIKE 'test_%' exec ('drop table' + @NAME)
20     END
 

4.批量游标清空满足条件的表

 
 1 DECLARE
 2     @trun_name VARCHAR (50) DECLARE
 3         name_cursor CURSOR FOR SELECT
 4             'truncate table ' + NAME
 5         FROM
 6             sysobjects
 7         WHERE
 8             xtype = 'U'
 9         AND NAME LIKE 'test_%' OPEN name_cursor FETCH next
10         FROM
11             name_cursor INTO @trun_name
12         WHILE @@FETCH_STATUS = 0
13         BEGIN
14             exec (@trun_name) print 'truncated table ' + @trun_name FETCH next
15         FROM
16             name_cursor INTO @trun_name
17         END CLOSE name_cursor DEALLOCATE name_cursor
 

转载于:https://www.cnblogs.com/flydkPocketMagic/p/5998540.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值