SQL例子
declare @colname varchar(100) = 'col2';
declare @sql varchar(max);
declare @code varchar(100) = 'row2';
set @sql = 'select ''' + @colname + ''' as [name], ' + @colname + ' as [value]
from #table1
where code = ''' + @code + '''
';
exec(@sql);
举个例子动态SQL
declare @TableName nvarchar(50)
set @TableName='frmsup'
declare @sup_name nvarchar(50)
set @sup_name='中华有限公司'
declare @FieldName nvarchar(200)
set @FieldName ='SUP_RD_PERIOD'
declare @sql nvarchar(max)
set @sql='declare @FieldName nvarchar(50) select @FieldName='+@FieldName +' from '+@TableName+' where SUP_NAME='''+@sup_name+''' select @FieldName'
exec (@sql)
declare @sup_name nvarchar(max) set @sup_name='TEST'
declare @nr nvarchar(max) set @nr='CSGO'
declare @FieldName nvarchar(max) set @FieldName ='SUP_ADR2'
exec(' update frmsup set ' + @FieldName + ' = '''+ @nr + ''' where sup_name= '''+ @sup_name +'''')