sql - 如何将 MS SQL Server 一个数据库中所有表的所有列名更改为大写?

标签 sql sql-server uppercase

是否有任何 sql 语句用于将数据库中所有表的所有列名更改为大写?微软 SQL 服务器。

我有一个 sql 可以做到这一点,但不确定它是否正确。

  1. 运行下面的 SQL

    select 'exec sp_rename '''+b.name+'.'+a.name+''','''+UPPER(a.name)+''',''column'''
    from syscolumns a, sysobjects b 
    where a.id=b.id and b.type='U' 
    order by b.name
    
  2. 复制上面的结果并执行

最佳答案

如果您要将应用程序从 SQL Server 2000 升级到更高版本,并且您正在为 SQL Server 区分大小写而苦苦挣扎,我建议您在执行此操作之前查看 SQL Server 2000 兼容性设置数据库的剧烈变化。

在 SQL Server 2008 管理工作室中

  1. 右键单击数据库并在上下文菜单中选择属性
  2. 转到选项页面
  3. 在从顶部数第三个下拉列表中。选择兼容级别:SQL Server 2000

至少那是很耗时的。

编辑:由于 OP 似乎正在将他的数据库从 SQL Server 2005 升级到 SQL Server 2005 上的"new"数据库,因此上述策略可能不是最佳的。

关于sql - 如何将 MS SQL Server 一个数据库中所有表的所有列名更改为大写?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5270416/

相关文章:

php - 我更新时出现错误消息

sql - 相似列出现次数

sql - 在数据仓库中使用 View

c# - 从大型数据库中检索行时优化灵活的 Linq to Entity 标准的性能

java - 使用 Java 字符串替换方法产生与预期不同的结果,为什么?

java - java中小写字母转换为大写字母

sql - 我如何优化这个 JOIN 查询?

sql - 将列类型从整数更改为字符串

c# - Visual Studio 2010 找不到在 SQL Server Management Studios 中创建的数据库

java - 在android中将CharSequence的首字母更改为大写