declare @sql varchar(8000)
set @sql='alter table a  add o varchar(10) update a set o=''oo'''
exec(@sql)
问题来了 .添加例马上更新放在一个动态SQL里面,那么添加例的语句没有执行.后面的update不能成立,exec(@sql)报错.如果在添加例后面加go让他执行但 动态SQL里面不能用go
这个有办法处理吗.
谢谢

解决方案 »

  1.   

    分两段就可以了declare @sql varchar(8000) 
    set @sql='alter table a  add o varchar(10) '
    exec(@sql) 
    set @sql='update a set o=''oo''' 
    exec(@sql) 
      

  2.   

    declare @sql varchar(8000) 
    set @sql='alter table a  add o varchar(10) '
    exec(@sql)
    exec('update a set o=''oo''') 
      

  3.   

    alter table a  add o varchar(10) 
    update a set o='oo' 虽然sql执行的时候是一条一条的但编译这样是通不过的只能把sql语句包在exec里面
      

  4.   

    exec('alter table a add o varchar(10)')
    exec ('update a set o=''00''')