create procedure proc_temp
  @knowledge varchar(10)
  as
   declare @knowledgeColumn varchar(10)
   set @knowledgeColumn=@knowledge   select SUM(@knowledgeColumn) from Score1
提示操作数数据类型 varchar 对于 sum 运算符无效新人请高手指点!

解决方案 »

  1.   

    create procedure proc_temp
      @knowledge varchar(10)
      as
       declare @knowledgeColumn varchar(10)
       set @knowledgeColumn=@knowledge   EXEC('select SUM('+@knowledgeColumn+') from Score1')
      

  2.   

    create procedure proc_temp
      @knowledge varchar(10)
      as  exec('select SUM('+@knowledge+') from Score1')
      

  3.   

    是这样吗?
    exce proc_temp @knowledge='列名'
      

  4.   

    是这样吗?
    exce proc_temp @knowledge='列名'
      

  5.   

    exce proc_temp '列名'  这样,,,汗
      

  6.   

    [Quote=引用 10 楼 lclonger 的回复:]
    引用 9 楼 andy_liucj 的回复:
    exce proc_temp '列名' 这样,,,汗提示'列名'附近有语法错误!
    [
    /Quote]大哥,可以查一下联机帮助--存储过程
    列名是说你传的变量值........
    EXEC proc_temp '参数值'
    还有几种方法
      

  7.   

    exce proc_temp 'V''V'就是我的列名呀!提示错误
      

  8.   

    CREATE TABLE TB(ID INT)
    INSERT TB SELECT 1
    GO
    create procedure proc_temp
      @knowledge varchar(10)
      as
       declare @knowledgeColumn varchar(10)
       set @knowledgeColumn=@knowledge   EXEC('select SUM('+@knowledgeColumn+') from TB')
    EXEC proc_temp 'ID'            
    ----------- 
    1(所影响的行数为 1 行)
      

  9.   

    CREATE TABLE TB(ID INT)
    INSERT TB SELECT 1
    GO
    create procedure proc_temp
      @knowledge varchar(10)
      as
       declare @knowledgeColumn varchar(10)
       set @knowledgeColumn=@knowledge   EXEC('select SUM('+@knowledgeColumn+') from TB')
    EXEC proc_temp 'ID'            
    ----------- 
    1(所影响的行数为 1 行)
      

  10.   

    又遇到问题了,怎么才能报sum()的值赋给另一个变量呢?
    EXEC('select '+@result+'=SUM('+@knowledgeColumn+') from Score1')  ???