更改表添加字段然后使用它时出错

时间:2013-05-02 22:50:30

标签: sql database tsql alter

我正在尝试向表中添加字段。如果我创建表然后调用sp并在sp中添加字段。我不能在where子句中使用该字段

  1. 将第一部分和第二部分放在一起:没有错误
  2. 在sp:error中运行第一部分然后第二部分(完成时不要忘记删除#table)
  3. 运行第一部分然后第二部分:错误(完成时不要忘记删除#table)
  4. 示例:

    /*PART 1*/
    select 1 as number
    into #table
    union all 
    select 2 as number
    /*******/
    
    /*PART 2*/
    ALTER TABLE #table ADD rowNo INT IDENTITY(1,1);
    
    select * from #table
    where rowNo between 0 and 10
    
    drop table #table
    /********/
    

    这就是我在存储过程中运行的意思(对sql小提琴新手):

    http://sqlfiddle.com/#!3/545ff/1

1 个答案:

答案 0 :(得分:0)

在代码编译期间似乎抛出了错误。如果在exec()命令中运行select(或任何其他直接引用新列的查询),它将起作用:

http://sqlfiddle.com/#!3/76b8c/1