create PROCEDURE temp1
(
@Name nvarchar(255),
@test nvarchar(255),
@name_value varchar(8000)
)
as
exec('insert into '+@test+'( '+@Name+') values ('+@name_value')')

解决方案 »

  1.   

    http://expert.csdn.net/Expert/topic/2303/2303308.xml?temp=.1451227
    zjcxc(邹建) 
      

  2.   

    exec('insert into '+@test+'( '+@Name+') values ('+@name_value')')
      

  3.   

    create PROCEDURE temp1
    (
    @Name nvarchar(255),
    @test nvarchar(255),
    @name_value ntext
    )
    as
    exec('insert into '+@test+'
    (
    '+@Name+'
    )
    values
    (
    '''+@name_value +'''
    )
    ')
      

  4.   

    --@name_value 为ntext类型不能用这种方法create PROCEDURE temp1
    (
    @Name nvarchar(255),
    @test nvarchar(255),
    @name_value nvarchar(8000)
    )
    as
    exec('insert into '+@test+'
    (
    '+@Name+'
    )
    values
    (
    '''+@name_value +'''
    )
    ')
      

  5.   

    太长的话:create PROCEDURE temp1
    (
    @Name nvarchar(255),
    @test nvarchar(255),
    @name_value1 varchar(8000)='',
    @name_value2 varchar(8000)='',
    @name_value3 varchar(8000)=''
    )
    as
    exec('insert into '+@test+'( '+@Name+') values ('+@name_value1+@name_value2+@name_value3+')')
      

  6.   

    exec('insert into '+@test+'( '+@Name+') values ('+@name_value1+@name_value2+@name_value3+')')
    这个里面不能用 ntext的吗?