只给一个变量赋值可以用SET,SELECT可以给多个变量赋值。我只用SELECT。

解决方案 »

  1.   

    我从不用set,它们好象区别不大。
      

  2.   

    select 可以给多个变量赋值呀,没试过,我一次只给一个变量赋值,先试一下!
      

  3.   

    呵呵,这样写declare @a int
    declare @b int
    declare @c intselect @a=1,@b=@a+1,@c=@b+@a+1print @a
    print @b
    print @c
      

  4.   

    我也试过了,但后来我仔细察看了Book Online,其中的Set @local_variable和select @local_variable就已经指出了区别.简单点说,用Set赋值一定没错。呵呵,其实这个问题的答案就在身边,没人提示就是不愿意看E文!祝大家好运!yangzi和nononono应该给我分!哈哈!
      

  5.   

    我也试过了,但后来我仔细察看了Book Online,其中的Set @local_variable和select @local_variable就已经指出了区别.简单点说,用Set赋值一定没错。呵呵,其实这个问题的答案就在身边,没人提示就是不愿意看E文!祝大家好运!yangzi和nononono应该给我分!哈哈!
      

  6.   

    我也试过了,但后来我仔细察看了Book Online,其中的Set @local_variable和select @local_variable就已经指出了区别.简单点说,用Set赋值一定没错。呵呵,其实这个问题的答案就在身边,没人提示就是不愿意看E文!祝大家好运!yangzi和nononono应该给我分!哈哈!
      

  7.   

    呵呵bcai(阿波),说说你的理由。
      

  8.   

    因为你俩从来不用set呀,而Book Online中强调给变量赋值最好用set,原因是select在某些情况下,赋值会出错,不过要分的事情纯属玩笑,虽然没有完全正确,就一人5分吧(别嫌少哦)
      

  9.   

    我也看了,而且是中文的。不过,好象没你说的那么可怕。而且,对于我上面的语句,我可以一行搞定,如果用set 的话,至少得三行吧。那可不符合我的性格。
      

  10.   

    "select在某些情况下,赋值会出错", 那是因为写错了,不是因为select本身。呵呵
      

  11.   

    o,大家的说法都没错,不过编程习惯不同,我主要想的是给变量赋值,用Set可能比较快,但真正的DBA应该习惯用select.主要想把一个放在心里很久的问题拿出来和大家研究一下,这样可以得到一些与自己思维不同的答案,有助于更全面的了解一些问题!