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

Writing an Script That Makes Alter Query For Target Objects in 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');