现在要做一个操作是,在select @var=case ... then 后面加入insert语句,如果直接这样写好像我测试了是行不通的,后来就找到一种方法在后面调用自定义函数来实现,可是在函数里面又有一个问题是,它里面不能写insert语句到临时表和正常表里面,那有什么方法可实现此功能吗?

解决方案 »

  1.   

    你要写什么呀?
    select 就是选择和赋值的,你可以得到@Var后,在判断一下
    if @Var= ??
      insert into .....
      

  2.   

    谢谢上面的,我想实现如果字符串长度大于2000时自动插入到数据库中,并重置为空。我的理想语句为:
    select @var = case 
    when len(@var) > 2000 then 
       insert into ##(keystr) values ($var+cast(field as varchar))
       set $var = ''
    else
       @var + cast(field as varchar)
    end from tbl
      

  3.   

    insert into ##(keystr) select (when len(field) > 2000 then @var else ... end)可以这样
      

  4.   


    insert into ##(keystr) select (case when len(field) > 2000 then @var else ... end)
      

  5.   

    insert tb select @var where len(@var)>2000