mssqlserver字符拼接

liuyongxyz1 2012-02-08 10:22:58
我现在要批量修改一数据库里所有表,添加一列,希望用最简单的语句达到目的。

ALTER TABLE dbo.t10 ADD col1 varchar(50) NULL

最好不要用循环,游标什么的
...全文
65 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
紫竹林畔 2012-02-08
  • 打赏
  • 举报
回复
sp_MSforeachtable @command1 = "alter  TABLE ? ADD col1 varchar(50) NULL" 
shshjun 2012-02-08
  • 打赏
  • 举报
回复
> 不过要确认这一列的名称所有表都没有被引用。
这个当然也可以用where not exists()自动判定。
AcHerat 2012-02-08
  • 打赏
  • 举报
回复
不过要确认这一列的名称所有表都没有被引用。


declare @sql varchar(max)
select @sql = isnull(@sql,'')+' alter table dbo.'+[name]+' add col1 varchar(50) null '
from sys.objects
where [type] = 'U'
print @sql
exec(@sql)
AcHerat 2012-02-08
  • 打赏
  • 举报
回复
那就去动态拼接字符串执行吧~!

22,207

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧