当执行了execute('declare @MyVar varchar(40)')之后
存储变量就释放掉了,我也怀疑,execute
buneng

解决方案 »

  1.   

    execute('declare @MyVar varchar(40)')中定义的变量的作用域不会存在本过程中。
      

  2.   

    楼上说的对,execute()的作用域是临时的,执行完即释放的.
      

  3.   

    shao528(红雪) 和 findcsdn(findcsdn) 说的没错,
    如果
    execute('declare @MyVar varchar(40)')
    execute('set @MyVar = ''这是一个动态变量''')
    就和
    declare @MyVar varchar(40)
    go
    set @MyVar = '这是一个动态变量'
    go
    是一样的