各位帮忙看一下
...............................
SET @sqlInsert= 'insert into UserPermission  (GroupID,UserName,'+@project+'_'+@classid+') values ('+ @groupid+','+@username+','+@permissionvalue+')'
EXEC(@sqlInsert)
..........................................提示错误:
此处只允许使用常量、表达式或变量。不允许使用列名谢谢

解决方案 »

  1.   

    你PRINT一下@sqlInsert看看就知道了~~
      

  2.   

    SET @sqlInsert= 'insert into UserPermission  (GroupID,UserName,'+@project+'_'+@classid+') values ('+ @groupid+','''+@username+''','+@permissionvalue+')'
    试试
      

  3.   

    SET @sqlInsert= 'insert into UserPermission  (GroupID,UserName,'+@project+'_'+@classid+') values ('+ @groupid+','''+@username+''','+@permissionvalue+')'
    EXEC(@sqlInsert)---如果是字符型的字段values后面的对应的应该加'''
    SET @sqlInsert= 'insert into UserPermission  (GroupID,UserName,'+@project+'_'+@classid+') values ('+ @groupid+','''+@username+''','+@permissionvalue+')'
      

  4.   

    SET @sqlInsert= 'insert into UserPermission  (GroupID,UserName,per) values ('+ cast(@groupid as varchar)+','+@username+','+cast(@permissionvalue as varchar)+')'
    试试^_^
      

  5.   

    SET @sqlInsert= 'insert into UserPermission  (GroupID,UserName,per) values ('+ cast(@groupid as varchar)+','''+@username+''','+cast(@permissionvalue as varchar)+')'
    print @sqlInsert 之前错了
      

  6.   

    还是不能正确执行
    我在查询分析器中执行,提示我创建的UserPermission表的行大小超过了8060字节,插入的那三个字段
    GroupID 为nvarchar(40)
    UserName为varchar(30)
    @Project+'_'@ClassID为 varchar(200)警告: 已创建表 'UserPermission',但其最大行大小(45815)超过了每行的最大字节数(8060)。如果结果行长度超过 8060 字节,则此表中行的 INSERT 或 UPDATE 将失败。
      

  7.   

    values ('+ @groupid+','+@username+','+@permissionvalue+')'
    根据提示,应该是这里有问题
      

  8.   

    to eddy8863(西北狂),wangdehao(找找找(现在很幸福)) 
    谢谢你们