怎么用字符串来代表某个表中的字段?
我有两个字符串,一个是字段的名字,一个是具体的数据。怎么才能把数据正确的插入的表里?
[解决办法]
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 行受影响)*/