对所有表进行类似处理

eg1:

大家知道,如果将一个表所有者改为dbo,只需

sp_changeobjectowner '表名','dbo'即可

但要将所有的表的所有者都改为dbo,可以用循环处理,此处略

其实用SQL的系统存储过程sp_MSForEachTable可以轻松搞定

只需exec sp_MSForEachTable 'sp_changeobjectowner ''?'', ''dbo'''

当然,可能运行时会有错(比如有些表的所有者原先就是dbo),不用理它,运行一遍就行了。

 

eg2:

所有表都加上一个自增长的字段

大家知道对一个表加的话只需: alter table 表名 add iid int identity(1,1)

若需对所有的表都加的话只需: sp_MSForEachTable 'alter table ? add iid int identity(1,1)'

同理,删除所有表中的iid字段只需 sp_MSForEachTable 'alter table ? drop column iid'

当然,可能运行时会有错(比如加字段时该表中已有该字段,删除字段时没有该字段),不用理它,运行一遍就行了。

 

eg3:

对所有表中的num字段进行四舍五入处理

sp_MSForEachTable 'update ? set num = round(num,2)'

当然,可能运行时会有错(比如有些表中没有num字段),不用理它,运行一遍就行了。

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

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
©️2022 CSDN 皮肤主题:大白 设计师:CSDN官方博客 返回首页

打赏作者

txlicenhe

你的鼓励将是我创作的最大动力

¥2 ¥4 ¥6 ¥10 ¥20
输入1-500的整数
余额支付 (余额:-- )
扫码支付
扫码支付:¥2
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值