不能在结尾加引号";"//tb_backupWHERE id = @id;2.if  @SourceTb='tb_card' 
          exec (pre_card @id)
   if @SourceTb='tb_user' 
exec(pre_user @id)
   if  @SourceTb='tb_consume'
exec(pre_consume @id,@goalTb)END

解决方案 »

  1.   

    case is a function, 有返回值!!  前面需有select, 不可單獨使用!例如: substring('test', 1, 1)  --error
          select substring('test', 1, 1) --suceess
      

  2.   

    case is a function, 有返回值!! 
    要这么说,我上面的只能不多个if才可以实现了????
      

  3.   

    if @SourceTb = 'tb_card'
    exec(prs_card @id)
    else if @SourceTb = 'tb_user'
    exec(prs_user @id)
    else if @SourceTb = 'tb_consume'
    exec(prs_consume @id,@GoalTb)
    else if @SourceTb = 'tb_saving'
    exec(prs_dayTerminal @id,@GoalTb)
    else if @SourceTb = 'tb_dayTerminal'
    exec(prs_saving @id,@GoalTb)
      

  4.   

    首先语句结束不能用引号,其次用case在有些情况下还真不如多个if来的方便快捷。