兄弟真想学的话,看看联机帮助啊

解决方案 »

  1.   

    看到问题,想来回答,不过进来一看,,,,吓死。
    虽然能看明白,不过也太多了。兄弟我就把前面一段帮你说明一下吧,剩下的你自己就能看懂了。declare CUR_FYXM cursor for select CMC from tbzdbafy order by IBM定义一个CURSOR变量CUR_FYXM ,其值为select CMC from tbzdbafy order by IBM语句返回值。declare @CFYXM varchar(40)
    定义一个varchar类型的变量@CFYXM,长度为40declare @ASQL varchar(1000)
    定义一个 varchar类型的变量@ASQL,长度为1000(如果语句太长,1000可能不够)open CUR_FYXM
    打开CUR_FYXM,这时CURSOR给出的是首地址FETCH NEXT FROM CUR_FYXM INTO @CFYXM
    取出CUR_FYXM所指的第一个值,并附值给变量@CFYXM WHILE (@@fetch_status <> -1)
    当取出值时begin
    开始  set @ASQL=''
     为变量@ASQL附值为‘’
     
      set @ASQL='alter table  ATJXX add '+@CFYXM+' money default(0.0)'
     为变量@ASQL附值为'alter table  ATJXX add '+@CFYXM+' money default(0.0)'
     (这句SQL就不用解释了吧?)  exec(@ASQL)
     执行@ASQL,就是执行上面那句SQLFETCH NEXT FROM CUR_FYXM INTO @CFYXM
    取下一个值end
    循环结束CLOSE CUR_FYXM
    关闭CUR_FYXMDEALLOCATE CUR_FYXM
    释放CUR_FYXMgo
    告知SERVER此段完成剩下的你应该都能看懂了。