动态列重命名 [英] Dynamic Column Renaming
问题描述
如果我们想在sql中重命名一个列,我们在我的存储过程中使用语句
Sp_rename'TableName.OldColumnName','NewColumnName','Column'
我想传递tableName,OldColumnName和NewColumnName
作为参数我的意思是动态声明
代码是:
创建程序A
@TableName nvarchar(255),
@OldColumnName nvarchar(255),
@NewColumnName nvarchar(255)
任何人都可以帮我写下带参数的声明
i不知道怎么把这个特殊字符'放在我的声明中
谢谢
if we want to rename a column in sql we use the statement
Sp_rename 'TableName.OldColumnName' , 'NewColumnName','Column'
in my stored procedure i want to pass tableName,OldColumnName and NewColumnName
as parameters i mean dynamic statement
the code is:
create Procedure A
@TableName nvarchar(255),
@OldColumnName nvarchar(255),
@NewColumnName nvarchar(255)
can any one help me to write the statement with the parameters
i dont know ho to put this special character ' in my statment
thanks
推荐答案
检查这个
check this
Create Procedure RenameColumnName
(
@TableName nvarchar(255),
@OldColumnName nvarchar(255),
@NewColumnName nvarchar(255)
)
As
BEGIN
--declare @TableName nvarchar(255)='History',
--@OldColumnName nvarchar(255)='Column3',
--@NewColumnName nvarchar(255)='Column4'
declare @strsql varchar(max)
set @strsql = 'Sp_rename '''+@TableName+'.'+@OldColumnName+''' , '''+@NewColumnName+''',''Column'''
exec (@strsql)
END
这篇关于动态列重命名的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!