【发布时间】:2012-06-22 05:38:43
【问题描述】:
我有一个 SQL Server 表,它有 625 列使用不同的数据类型创建,如 int、varchar(25)、decimal(18, 2) 等...
现在有兴趣将所有列的数据类型更改为varchar(255)。不是对所有列一一执行下面的查询,是否有一个 SQL Server 查询可以一次性更改表中所有列的数据类型?
ALTER TABLE dbo.Employee
ALTER COLUMN FirstName VARCHAR(255) NOT NULL
期待您的回复。
【问题讨论】:
-
将 all 数据类型更改为
VARCHAR(255)听起来并不明智;毕竟,这些数据类型的存在是有原因的——你为什么要放弃这些数据类型?但是没有 - 没有“神奇的 T-SQL”可以将所有列更改为新的数据类型 - 您基本上必须逐列执行此操作 - 或者在该表的sys.columns条目上创建光标并执行 @每列987654329@语句 -
你是对的 marc_s,但我有这样的要求。这可以在单个 sql 查询中完成吗?
-
看看这个stackoverflow.com/questions/11047551/….. 可能对你有帮助..(类似于你的概念)
标签: sql sql-server sql-server-2008 sql-server-2005