sql语句动态添加列
CREATE   TABLE   #doc_exa   (   column_a   INT)      
 ALTER   TABLE   #doc_exa   ADD   column_b   VARCHAR(20)   NULL   
 insert   into   #doc_exa(column_b) 
 values( 'df ')   
 但是,弹出错误,说列名column_b无效     
 但是   select   *   from   #doc_exa,可以显示 
 column_a,column_b
------解决方案--------------------CREATE TABLE #doc_exa ( column_a INT)   
 ALTER TABLE #doc_exa ADD column_b VARCHAR(20) NULL 
 go   
 insert into #doc_exa(column_b) 
 values( 'df ') 
------解决方案--------------------CREATE TABLE #doc_exa ( column_a INT)   
 ALTER TABLE #doc_exa ADD column_b VARCHAR(20) NULL 
 go --用GO先把它提交了   
 insert into #doc_exa(column_b) 
 values( 'df ')
------解决方案--------------------楼上正解,,,,   
 PS:又用错马甲了?^*^
------解决方案----------------------或者通过EXEC解决   
 CREATE TABLE #doc_exa ( column_a INT)   
 ALTER TABLE #doc_exa ADD column_b VARCHAR(20) NULL   
 exec ( 'insert into #doc_exa(column_b) values( ' 'df ' ') ') 
------解决方案--------------------楼上成了小楼的楼上,,,
------解决方案--------------------用 GO 的时候必须注意   
 GO 之前的变量,到生命周期到 GO 结束:   
 declare @i varchar(10) 
 set @i =  'abc ' 
 print @i 
 go   
 print @i 
 /* 
 服务器: 消息 137,级别 15,状态 2,行 2 
 必须声明变量  '@i '。 
 */
------解决方案--------------------我在2005里直接运行了一下楼主的代码,没有问题。   
 -- 
 CREATE TABLE #doc_exa ( column_a INT)    
 ALTER TABLE #doc_exa ADD column_b VARCHAR(20) NULL;--加个“;”号,不用“GO”应该也可以   
 insert into #doc_exa(column_b) 
 values( 'df ')
------解决方案--------------------在2000里面。要用exec执行
才可以,可能是bug吧