Sql 使用变量和变量名称插入到中
我正在努力完成以下工作:Sql 使用变量和变量名称插入到中,sql,sql-server,tsql,sql-server-2014,Sql,Sql Server,Tsql,Sql Server 2014,我正在努力完成以下工作: declare @Variable varchar(max) set @Variabele = 'NameOfColumn' INSERT into EmptyTable (ID, Name, Number ) select ID, @Variable, ???? from FullTable 我把一个列的名称放在@Variable中,并想把它放在EmptyTable中:ID,列的名称,该列中的值 最后一部分没有使用我尝试过的方法,我一直在获取列的名称,而不是该列中
declare @Variable varchar(max)
set @Variabele = 'NameOfColumn'
INSERT into EmptyTable (ID, Name, Number )
select ID, @Variable, ????
from FullTable
我把一个列的名称放在@Variable中,并想把它放在EmptyTable中:ID,列的名称,该列中的值
最后一部分没有使用我尝试过的方法,我一直在获取列的名称,而不是该列中该行的值
有人对此有什么想法吗
谢谢 您可以使用动态sql:
declare @Variable varchar(max)
set @Variable = 'NameOfColumn'
declare @stmt nvarchar(max)
select @stmt = '
INSERT into EmptyTable (ID, Name, Number )
select ID, ''' + @Variable + '''' + ', ' + @Variable + '
from FullTable'
exec sp_executesql
@stmt = @stmt
您可以使用动态sql:
declare @Variable varchar(max)
set @Variable = 'NameOfColumn'
declare @stmt nvarchar(max)
select @stmt = '
INSERT into EmptyTable (ID, Name, Number )
select ID, ''' + @Variable + '''' + ', ' + @Variable + '
from FullTable'
exec sp_executesql
@stmt = @stmt
若列名存储在变量中,则很容易从列中获取值。 我希望,下面的代码对你有帮助
Declare @Variable varchar(max)
set @Variable = 'Name'
exec ( 'INSERT into EmptyTable (ID, Name, Number )
select ID,' + @Variable + ', 0 from FullTable')
若列名存储在变量中,则很容易从列中获取值。 我希望,下面的代码对你有帮助
Declare @Variable varchar(max)
set @Variable = 'Name'
exec ( 'INSERT into EmptyTable (ID, Name, Number )
select ID,' + @Variable + ', 0 from FullTable')
请指定您正在使用的确切DBMS(我怀疑它是SQL server),因为答案可以依赖它。SQL server 2014 indeed请指定您正在使用的确切DBMS(我怀疑它是SQL server),因为答案可以依赖它。SQL server 2014