第一種return第二種 goto exit_sign

解决方案 »

  1.   

    create proc ddd
    as
    declare @a int
    set @a=0
      while @a>10
       begin
        set @a=@a+1
        if @a=5 
         begin
          print 'dd'
          return
         end
       end
    print @a为什么打印的结果是0而不是'dd'啊?
      

  2.   

    create proc ddd
    as
    declare @a int
    set @a=0
      while @a>10 --没有满足条件
       begin
        set @a=@a+1
        if @a=5 
         begin
          print 'dd'
          return
         end
       end
    print @a   -- 执行这儿 (@a=0)
      

  3.   

    if @@error<>0
        return @error
      

  4.   

    错了:
    if @@error<>0
        return @@error      --退出存储过程
      

  5.   

    好象都不行哦!我的意思是当A=5的时候打印'dd' 而不再执行后面的步骤直接中断!
      

  6.   

    大家测试下不就明白了么?create proc ddd
    as
    declare @a int
    set @a=0
      while @a>10
       begin
        set @a=@a+1
        if @a=5 
         begin
          print 'dd' --最后结果应该是打印'dd'
          return
         end
       end
    print @a         --这个不应该打印出来!
      

  7.   

    create proc ddd
    as
    declare @a int
    set @a=0
      while @a<10  --应该是小于...汗一个
       begin
        set @a=@a+1
        if @a=5 
         begin
          print 'dd' --最后结果应该是打印'dd'
          return
         end
       end
    print @a         --这个不应该打印出来!