微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

编写对 SQL Server 2019 中的目标对象进行更改查询的脚本

如何解决编写对 SQL Server 2019 中的目标对象进行更改查询的脚本

我有一个以小写字母开头的列列表。这个列表有 270 条记录,这意味着我在数据库中有 270 个列名,应该重命名以大写字母开头。 我有这个脚本的列表:

select * from information_schema.columns where ascii(left(column_name,1)) between ascii('a') and ascii('z');

我想要一个查询来为我的 Select 语句的每条记录生成更改脚本,格式如下:

ALTER TABLE [TableName] RENAME COLUMN [OldColumnName] TO [NewColumnName];

或者喜欢这个:

ALTER TABLE TableName CHANGE COLUMN OldColumnName NewColumnName Data Type;

旧的 [Old_Column_Name] 以小写字母开头,因此 [New_Column_Name] 应以大写字母开头。

例如:旧名称 = 用户 ===> 新名称 = 用户

谢谢。

解决方法

虽然我仍然不完全清楚您在寻找什么,以及这是否会真正改变您数据库中的案例名称(设置会有所不同),但以下应该有效:

select 'EXEC sp_rename '''+TABLE_SCHEMA+'.'+TABLE_NAME+'.'+COLUMN_NAME+''','''
    +CHAR( ASCII(LEFT(COLUMN_NAME,1))-32 ) + SUBSTRING(COLUMN_NAME,2,LEN(COLUMN_NAME))
    +''',''COLUMN'';  '
from information_schema.columns where ascii(left(column_name,1)) between ascii('a') and ascii('z');

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。