我有两个字符串,一个是字段的名字,一个是具体的数据。怎么才能把数据正确的插入的表里?

解决方案 »

  1.   

    declare @str1 varchar(10)='col1',@str2 varchar(20)='值'
    exec ('insert into tb ('+@str1+') values('''+@str2+''')')
      

  2.   

    declare @field varchar(20)
    declare @value varchar(20)
    declare @sql varchar(1000)
    set @sql='insert into TB('+@field+') values('''+@value+'')'
    exec(@sql)
      

  3.   


    这个需要动态语句
    create table #t
    (
    name varchar(10),
    id int
    )
    go
    declare @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 行受影响)*/