在SQL Server 2019中为目标对象编写Alter查询脚本



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

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

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

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

或像这样:

ALTER TABLE TableName CHANGE COLUMN OldColumnName NewColumnName Data Type;

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

示例:old Name = user ==>新名称=用户

谢谢。

虽然我仍然不完全清楚你在寻找什么,以及这是否会实际改变数据库中的案例名称(设置各不相同),以下应该工作:

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');

相关内容

  • 没有找到相关文章

最新更新