当前位置: 代码迷 >> Sql Server >> 如何用字符串来代表某个表中的字段
  详细解决方案

如何用字符串来代表某个表中的字段

热度:46   发布时间:2016-04-25 01:13:11.0
怎么用字符串来代表某个表中的字段?
我有两个字符串,一个是字段的名字,一个是具体的数据。怎么才能把数据正确的插入的表里?

------解决方案--------------------
declare @str1 varchar(10)='col1',@str2 varchar(20)='值'
exec ('insert into tb ('+@str1+') values('''+@str2+''')')
------解决方案--------------------
declare @field varchar(20)
declare @value varchar(20)
declare @sql varchar(1000)
set @sql='insert into TB('+@field+') values('''+@value+'')'
exec(@sql)
------解决方案--------------------
SQL code
这个需要动态语句create table #t(name varchar(10),id int)godeclare @str1  varchar(10)--字段名字declare @str2 varchar(10)--对应的值set @str1='name'set @str2='tracy'declare @str varchar(1000)set @str='insert #t('+@str1+') values('+''''+@str2+''''+')'print @str--insert 表的名字(name) values('tracy')exec(@str)select * from #t/*name       id---------- -----------tracy      NULL(1 行受影响)*/
  相关解决方案